Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Null pointer exception after executing stop ranging #25

Closed
mariusc1 opened this issue Aug 26, 2014 · 2 comments
Closed

Null pointer exception after executing stop ranging #25

mariusc1 opened this issue Aug 26, 2014 · 2 comments

Comments

@mariusc1
Copy link

Null pointer exception is randomly raised after executing stop ranging (possibly after stop monitoring as well) when using 2.0-beta3 binary library. This occurs on synchronized (rangeState), line 596, of processBeaconFromScan method from BeaconService.java file. The exception seems to be triggered by a race condition after the region was removed from rangedRegionState map after the region was included in the matchedRegions but before retrieving it from rangedRegionState for the code indicated above. The exception occurs randomly and could be reproduced by executing in a quick succession start/stop ranging/monitoring methods.

Please find below the debug messages captured when the error was reported:
08-20 10:39:23.151: D/BeaconService(22993): beacon detected multiple times in scan cycle :id1: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa id2: 1 id3: 1
08-20 10:39:23.151: D/BeaconService(22993): beacon detected :id1: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa id2: 1 id3: 1
08-20 10:39:23.151: D/BeaconService(22993): looking for ranging region matches for this beacon
08-20 10:39:23.151: D/BeaconService(22993): matches ranging region: id1: aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa id2: null id3: null
08-20 10:39:23.151: I/BeaconService(22993): stop ranging received
08-20 10:39:23.151: D/BeaconService(22993): Currently ranging 0 regions.
08-20 10:39:23.151: W/dalvikvm(22993): threadid=24: thread exiting with uncaught exception (group=0x4153bba8)
08-20 10:39:23.151: E/AndroidRuntime(22993): FATAL EXCEPTION: AsyncTask #3
08-20 10:39:23.151: E/AndroidRuntime(22993): Process: …, PID: 22993
08-20 10:39:23.151: E/AndroidRuntime(22993): java.lang.RuntimeException: An error occured while executing doInBackground()
08-20 10:39:23.151: E/AndroidRuntime(22993): at android.os.AsyncTask$3.done(AsyncTask.java:300)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.FutureTask.run(FutureTask.java:242)
08-20 10:39:23.151: E/AndroidRuntime(22993): at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:231)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.lang.Thread.run(Thread.java:841)
08-20 10:39:23.151: E/AndroidRuntime(22993): Caused by: java.lang.NullPointerException
08-20 10:39:23.151: E/AndroidRuntime(22993): at org.altbeacon.beacon.service.BeaconService.processBeaconFromScan(BeaconService.java:596)
08-20 10:39:23.151: E/AndroidRuntime(22993): at org.altbeacon.beacon.service.BeaconService.access$400(BeaconService.java:64)
08-20 10:39:23.151: E/AndroidRuntime(22993): at org.altbeacon.beacon.service.BeaconService$ScanProcessor.doInBackground(BeaconService.java:617)
08-20 10:39:23.151: E/AndroidRuntime(22993): at org.altbeacon.beacon.service.BeaconService$ScanProcessor.doInBackground(BeaconService.java:602)
08-20 10:39:23.151: E/AndroidRuntime(22993): at android.os.AsyncTask$2.call(AsyncTask.java:288)
08-20 10:39:23.151: E/AndroidRuntime(22993): at java.util.concurrent.FutureTask.run(FutureTask.java:237)
08-20 10:39:23.151: E/AndroidRuntime(22993): ... 4 more

@davidgyoung
Copy link
Member

Thanks for the report. Yes, it appears to by a synchronization issue.

@davidgyoung
Copy link
Member

I believe this should have been fixed along with issue #20 in fb8a985

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants