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

Aquiring Cell Towers crashes app #216

Closed
datenbank-projekt opened this issue Apr 29, 2019 · 22 comments
Closed

Aquiring Cell Towers crashes app #216

datenbank-projekt opened this issue Apr 29, 2019 · 22 comments
Labels
bug General label for all bugs (i.e. things not working as intended) compatibility Bugs related to compatibility (of device or OS) more-info-needed Needs more input to pin down or solve the issue

Comments

@datenbank-projekt
Copy link

datenbank-projekt commented Apr 29, 2019

Hi,

working with a HomTom S8 and Nougat.
When I try to create a condition that uses Cell Towers the app often crashes when it tries to read the active cell id's. Note: It does not crash always.

Olaf

@renyuneyun
Copy link
Owner

Hi, have you tried v0.7.4.1 ?
@214 reported the issue and it should have been fixed in v0.7.4.1.

@datenbank-projekt
Copy link
Author

Hi,

it seems to work now.
Olaf

@renyuneyun renyuneyun added the going-to-be-closed? Issues which should have been resolved but OP no response for a long time; Discussion finished label May 4, 2019
@twikedk
Copy link
Contributor

twikedk commented May 5, 2019

I'm running version 0.7.4.1 and here it crashes every time when trying to read active cell tower.

@ErsatzEx
Copy link

ErsatzEx commented May 5, 2019

Easer 0.7.4.1, GPS sensor must be on or the app will crash when detecting cell towers. GPS sensor or high accuracy mode must be selected. Tested on Android 9-Resurrection Remix 7.0.1

@twikedk
Copy link
Contributor

twikedk commented May 5, 2019

It is not the case here, running Android 5.1, no matter if with GPS or high accuracy it 'crashes'

@LSchober
Copy link

LSchober commented May 6, 2019

Easer 0.7.4.1 (installed from F-Droid), on Stock Oreo (8.1.0), without GPS enabled (not sure why GPS should factor into "Aquiring Cell Towers"), works without crashing for me.
Greetings, Lukas

@bme13
Copy link

bme13 commented May 6, 2019

Previously acquiring cell information worked well on my Samsung S5 running stock Android 6.0.1. After installing Lineageos16 acquiring the cell information is indeed not possible without enabling GPS. (even while running version 0.7.4.1) As a test I've installed Easer 0.7.4.1 on a old phone running Android 6 and there it is still possible to get cell information without enabling GPS. I don't know why GPS is needed in more recent Android versions or how to get around this.

@renyuneyun renyuneyun added bug General label for all bugs (i.e. things not working as intended) compatibility Bugs related to compatibility (of device or OS) more-info-needed Needs more input to pin down or solve the issue and removed going-to-be-closed? Issues which should have been resolved but OP no response for a long time; Discussion finished labels May 12, 2019
@renyuneyun
Copy link
Owner

Thank you guys. This seems to be a compatibility issue, though I'm not sure about the exact cause...
I'll try to examine, but can't provide an estimate...

@twikedk @ErsatzEx did it crash in versions prior to v0.7.2.3 (e.g. v0.7.2.2)? (Note you can export and import the data, in case you are worried about data loss for installing an old version.)

@BME does it crash without GPS, or it just "doesn't work" (i.e. can't get any cell tower)? If it crashes, could you also try a version prior to v0.7.2.3 and report if it crashes?

@twikedk
Copy link
Contributor

twikedk commented May 12, 2019

I had forgot all about as I found a work around, if I disable the GPS I'm able to get a cell tower and then I just enabled it again. I don't now if it crashed with in earlier versions as the setup is from several versions ago but I will see if I can find time to test with 0.7.2.2

@bme13
Copy link

bme13 commented May 13, 2019

does it crash without GPS, or it just "doesn't work"

Sorry that I wasn't clear enough. Yes it did crash. Think it showed the same backtrace as #214.

could you also try a version prior to v0.7.2.3

Where can I find those older versions? Fdroid only shows version back to 0.7.3.1

@renyuneyun
Copy link
Owner

@bme13 For f-droid, you can enable the "F-Droid Archive" repository. Old versions of applications are there.

@bme13
Copy link

bme13 commented May 18, 2019

Thanks. Just installed 0.7.2. If I try to get the cell tower information in that version without GPS enabled it doesn't crash but shows a toast message saying 'unable to get mobile location. verify your signal' (translated from Dutch) If I enable GPS the cell tower information is available.

@twikedk
Copy link
Contributor

twikedk commented May 19, 2019

Up-to version 0.7.2.2 it works fine for me on Android 5.1 with GPS both enable and disable. The later versions I need to disable GPS and then it will show the Cell Tower but not in the same way as versions <=0.7.2.2. In the earlier versions the Cell Tower is registered and presented right away but in newer versions it looks like it searches for Cell Tower even though it already is shown and then I just hit OK to register it.

@renyuneyun
Copy link
Owner

@twikedk Yes, as you can see from the changelog, v0.7.2.3 changes that button to listen to (and record) cell tower changes, to allow users to move around and get nearby cell towers.

However, there is a bug in v0.7.2.3 (which causes the app to crash when trying to this listen and record for a new Event/Condition), and the fix is in v0.7.4.1.
That's why I felt it a little strange to see v0.7.4.1 still crashes. If you have time, could you try the following to see if it crashes?:

  1. create a cell location condition (or event) in v0.7.2.2
  2. save it
  3. update Easer to v0.7.4.1 (directly install the new version, don't clear data)
  4. open (i.e. edit) that condition/event
  5. tap on the button (listen and record)

@twikedk
Copy link
Contributor

twikedk commented May 25, 2019

@renyuneyun I just tested following your suggestion and it ends with a 'crash', but if I disable my GPS then it works fine in version 0.7.4.1

@renyuneyun
Copy link
Owner

@twikedk @ErsatzEx @bme13 I'm finally ready to say this: v0.7.6.1 added "crash log", as an enhancement of the existing "external logging" functionality.
You should find the logs at /sdcard/logger/error/ (if you have "external logging" enabled).

Could you post the log when the crash happens? The logs are named with time, so it should be easy to find.

@twikedk
Copy link
Contributor

twikedk commented Jun 2, 2019

I just tested it but unfortunately it does not create the error folder neither an error log. I restarted the app but that didn't change anything, still 'crashing' but no log.

@bme13
Copy link

bme13 commented Jun 3, 2019

I've enabled 'external logging' and reproduced the crash however the error directory is not created. There's only a /sdcard/logger directory containing a logs_0.csv file. See below the content of that file after the crash. In addition to this I've manually created an error directory in the /sdcard/logger directory and crashed the app but no file was generated.

1559572657479,2019.06.03 16:37:37.479,DEBUG,PRETTY_LOGGER,[ScriptListFragment] reloadList()
1559572657486,2019.06.03 16:37:37.486,VERBOSE,PRETTY_LOGGER,[ScriptListFragment] All item: []
1559572657487,2019.06.03 16:37:37.487,DEBUG,PRETTY_LOGGER,[ScriptListFragment] : no item
1559572658949,2019.06.03 16:37:38.949,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572658952,2019.06.03 16:37:38.952,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572658961,2019.06.03 16:37:38.961,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572658964,2019.06.03 16:37:38.964,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572658981,2019.06.03 16:37:38.981,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572658982,2019.06.03 16:37:38.982,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572663061,2019.06.03 16:37:43.061,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572663062,2019.06.03 16:37:43.062,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572663974,2019.06.03 16:37:43.974,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572663976,2019.06.03 16:37:43.976,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572665094,2019.06.03 16:37:45.094,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559572665095,2019.06.03 16:37:45.095,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573026371,2019.06.03 16:43:46.371,DEBUG,PRETTY_LOGGER,[ScriptListFragment] reloadList()
1559573026373,2019.06.03 16:43:46.373,VERBOSE,PRETTY_LOGGER,[ScriptListFragment] All item: []
1559573026374,2019.06.03 16:43:46.374,DEBUG,PRETTY_LOGGER,[ScriptListFragment] : no item
1559573034243,2019.06.03 16:43:54.243,VERBOSE,PRETTY_LOGGER,[EHService] onDestroy
1559573034246,2019.06.03 16:43:54.246,VERBOSE,PRETTY_LOGGER,[EHService] waiting for ConditionVariable for CHBinder
1559573034246,2019.06.03 16:43:54.246,VERBOSE,PRETTY_LOGGER,[EHService] ConditionVariable for CHBinder met
1559573034250,2019.06.03 16:43:54.250,INFO,PRETTY_LOGGER,[EHService] destroyed
1559573112585,2019.06.03 16:45:12.585,VERBOSE,PRETTY_LOGGER,[EHService] onCreate()
1559573112599,2019.06.03 16:45:12.599,INFO,PRETTY_LOGGER,[EHService] created
1559573112608,2019.06.03 16:45:12.608,VERBOSE,PRETTY_LOGGER,ProfileLoaderService onCreate()
1559573112609,2019.06.03 16:45:12.609,DEBUG,PRETTY_LOGGER,[RemotePluginCommunicationHelper] begin()
1559573112622,2019.06.03 16:45:12.622,VERBOSE,PRETTY_LOGGER,[EHService] onServiceConnected: ComponentInfo{ryey.easer/ryey.easer.core.ConditionHolderService}
1559573112623,2019.06.03 16:45:12.623,VERBOSE,PRETTY_LOGGER,[EHService:mSetTriggers] setting triggers
1559573112624,2019.06.03 16:45:12.624,VERBOSE,PRETTY_LOGGER,[EHService:mSetTriggers] waiting for ConditionVariable for CHBinder
1559573112625,2019.06.03 16:45:12.625,VERBOSE,PRETTY_LOGGER,[EHService:mSetTriggers] ConditionVariable for CHBinder met
1559573112625,2019.06.03 16:45:12.625,DEBUG,PRETTY_LOGGER,[EHService:mSetTriggers] triggers have been set
1559573112626,2019.06.03 16:45:12.626,VERBOSE,PRETTY_LOGGER,[EHService] onServiceConnected: ComponentInfo{ryey.easer/ryey.easer.core.ProfileLoaderService}
1559573112634,2019.06.03 16:45:12.634,DEBUG,PRETTY_LOGGER,queryPlugin size 0
1559573112637,2019.06.03 16:45:12.637,DEBUG,PRETTY_LOGGER,[RemotePluginCommunicationHelper:ryey.easer.core.ProfileLoaderService@8d17dbd] onServiceConnected
1559573117088,2019.06.03 16:45:17.088,DEBUG,PRETTY_LOGGER,[ScriptListFragment] reloadList()
1559573117090,2019.06.03 16:45:17.090,VERBOSE,PRETTY_LOGGER,[ScriptListFragment] All item: []
1559573117091,2019.06.03 16:45:17.091,DEBUG,PRETTY_LOGGER,[ScriptListFragment] : no item
1559573118566,2019.06.03 16:45:18.566,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573118568,2019.06.03 16:45:18.568,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573118578,2019.06.03 16:45:18.578,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573118579,2019.06.03 16:45:18.579,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573118604,2019.06.03 16:45:18.604,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573118606,2019.06.03 16:45:18.606,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573120758,2019.06.03 16:45:20.758,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573120760,2019.06.03 16:45:20.760,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573121634,2019.06.03 16:45:21.634,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0
1559573121641,2019.06.03 16:45:21.641,DEBUG,PRETTY_LOGGER,[FillDataJob] tick on 0

@bme13
Copy link

bme13 commented Jun 13, 2019

Update. With the latest release of LineageOS I've got an extra option in the location setting. Now I've got the 'battery saving mode' which seems to be NLP. Using only wifi, bluetooth or cellular networks to determine the location. Now if I enable location with the battery saving option on Easer doesn't crash anymore. So my initial statement that GPS was needed is not correct. Location needs to be enabled in Android however GPS is not needed.

@renyuneyun
Copy link
Owner

If I understand the last comment correctly, that provides a work-around, but not a fix?
If anyone is still interested to know why or have this fixed:

The crash log finally worked in v0.7.7.3. Could anyone paste a crash log?

@bme13
Copy link

bme13 commented Jul 22, 2019

If I understand the last comment correctly, that provides a work-around, but not a fix?

Yes. I still need the location enabled, although GPS is not needed. Below the content of the error log. I've disabled the location and tried to create an event using the mobile location. This is created with version 0.7.7.6-beta.

BUILD_CONFIG: {}
APP_VERSION_CODE: 100115
USER_CRASH_DATE: 2019-07-22T11:04:25.201+02:00
ANDROID_VERSION: 9
BRAND: samsung
PHONE_MODEL: SM-G900F
PRODUCT: lineage_klte
STACK_TRACE: java.lang.RuntimeException: An error occurred while executing doInBackground()
    at android.os.AsyncTask$3.done(AsyncTask.java:354)
    at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:383)
    at java.util.concurrent.FutureTask.setException(FutureTask.java:252)
    at java.util.concurrent.FutureTask.run(FutureTask.java:271)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)
Caused by: java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
    at ryey.easer.e.d.d.m$b.a(ScannerDialogFragment.java:2)
    at ryey.easer.e.d.d.m$b.doInBackground(ScannerDialogFragment.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:333)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    ... 4 more
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
    at ryey.easer.e.d.d.m$b.a(ScannerDialogFragment.java:2)
    at ryey.easer.e.d.d.m$b.doInBackground(ScannerDialogFragment.java:1)
    at android.os.AsyncTask$2.call(AsyncTask.java:333)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:245)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
    at java.lang.Thread.run(Thread.java:764)

@renyuneyun
Copy link
Owner

Thanks @bme13 !
Now there is a fix to this in c4080ee which will appear in v0.7.7.7 soon.

Feel free to reopen this issue (and further logs) if there is still crash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug General label for all bugs (i.e. things not working as intended) compatibility Bugs related to compatibility (of device or OS) more-info-needed Needs more input to pin down or solve the issue
Projects
None yet
Development

No branches or pull requests

6 participants