Android app crash

Discuss KerberosSDR - 4x Coherent RTL-SDR
Post Reply
AE6EO
Posts: 9
Joined: Sun Sep 15, 2019 1:57 am

Android app crash

Post by AE6EO » Mon Nov 11, 2019 12:30 am

I tried using the current version of the Android app for KerberosSDR today. I was able to use it to communicate with the server (running on a La Frite SBC), do the initial configuration and synchronization, and enable the DOA processing. The compass display information seems reasonable.

However, when I tried to use the app to actually record bearings as I rode around, I could not. I had configured a new-and-unique filename into the logging-control preferences screen, and gone back to the main display.

The instant I touched the "timer" icon to start recording, the app crashed.

This happened repeatedly - I was never able to keep the app running long enough to actually record any bearings and positions to the .csv file.

The last time it happened I took a bug report. The backtrace says it's crashing in Timer.kt, line 168, and the error is "NoSuchMethodError: no virtual method getBearingAccuracyDegrees()F in class Landroid/location/Location, or its superclasses."

100% reproducible on my tablet (a Nexus 7 running LineageOS).

Perhaps this is a consequence of having dropped the minimum-SDK-level required by the app (so it can run on the large number of tablets and phones which don't have the most recent Android versions)? Timer.kt might be trying to use a routine that doesn't exist in the older SDKs, and doesn't fall back to an alternative code path in this case?

myke
Posts: 33
Joined: Wed Aug 28, 2019 7:03 pm

Re: Android app crash

Post by myke » Mon Nov 11, 2019 2:38 am

I have had a similar issue. In the Android app, try setting -> Open Log and confirm your path a .csv file is ..../Downloads/KerberosSDR (if not get into KerberosSDR folder and load any current .csv file -- if there is not one in that folder...uninstall and reinstall Android app. ...you can uncheck Pause logging when stationary temporary to confirm logging... I can duplicate csv file path issues across multiple android devices at android 8+ .... Might get better guidance... but that's been my experience....

rtlsdrblog
Site Admin
Posts: 2383
Joined: Mon Nov 19, 2012 11:54 pm

Re: Android app crash

Post by rtlsdrblog » Tue Nov 12, 2019 11:21 am

AE6EO wrote:
Mon Nov 11, 2019 12:30 am
I tried using the current version of the Android app for KerberosSDR today. I was able to use it to communicate with the server (running on a La Frite SBC), do the initial configuration and synchronization, and enable the DOA processing. The compass display information seems reasonable.

However, when I tried to use the app to actually record bearings as I rode around, I could not. I had configured a new-and-unique filename into the logging-control preferences screen, and gone back to the main display.

The instant I touched the "timer" icon to start recording, the app crashed.

This happened repeatedly - I was never able to keep the app running long enough to actually record any bearings and positions to the .csv file.

The last time it happened I took a bug report. The backtrace says it's crashing in Timer.kt, line 168, and the error is "NoSuchMethodError: no virtual method getBearingAccuracyDegrees()F in class Landroid/location/Location, or its superclasses."

100% reproducible on my tablet (a Nexus 7 running LineageOS).

Perhaps this is a consequence of having dropped the minimum-SDK-level required by the app (so it can run on the large number of tablets and phones which don't have the most recent Android versions)? Timer.kt might be trying to use a routine that doesn't exist in the older SDKs, and doesn't fall back to an alternative code path in this case?
Hmm odd, we're not even using that method. I'll check on it, and try to compile a new version soon.

rtlsdrblog
Site Admin
Posts: 2383
Joined: Mon Nov 19, 2012 11:54 pm

Re: Android app crash

Post by rtlsdrblog » Fri Nov 15, 2019 2:36 am

A new version is out with some bug fixes.

We had to update the API level from 21 to 23 to fix this bug. I'm not sure why the bug didn't show up on some devices, but showed on others, but using API 23 should fix it on all.

Can you let me know if this fixes your issue?

AE6EO
Posts: 9
Joined: Sun Sep 15, 2019 1:57 am

Re: Android app crash

Post by AE6EO » Sat Nov 16, 2019 3:05 am

It appears to have fixed the problem perfectly.

The new version updated correctly on my two LineageOS tablets (one based on Android 6, the other on 7.1). The app starts up correctly on both, connects to the server, and can receive and log bearings.

Thank you indeed!

AE6EO
Posts: 9
Joined: Sun Sep 15, 2019 1:57 am

Re: Android app crash

Post by AE6EO » Sun Nov 17, 2019 5:32 am

Further problems, I'm afraid. I took the system out for a drive this afternoon, to DF a local FM broadcast station.

The server seems to have been working fine.

I ran the Android app on both of my tablets (Nexus 7 and Nexus 10) pulling data from the same server. Two problems noted:
  1. The app running on the Nexus 7 crashed repeatedly while logging, while the same app running on the Nexus 10 logged without a problem. One possible reason for the difference: the 10 was locked in Portrait orientation, while the 7 was set to allow for auto-rotation of the screen orientation. It's possible that the Nexus 7 tried to change screen layouts while logging (the tablet was lying flat and moved around a bit as I drove). Unfortunately I wasn't able to grab a feedback bug report for this problem, as I was driving at the time.
  2. After I collected logs on both devices, I now find myself unable to do an "Open log" and "Plot log file" or "Plot grid and estimate" on either device. If I open the log file with neither "Plot" box checked, it'll accept the file, but as soon as I check either "Plot" box the app crashes. If I check "Plot" first, the app crashes when I open the file... and in this case I can't seem to re-launch the app again (it crashes immediately). The bug reports indicate that an I/O error is occurring, apparently trying to open a file for write on a read-only filesystem. I submitted a couple of feedback bug reports from these crashes.
I looked at the contents of the .csv files and they appear reasonable. I'm attaching a ZIP archive of the files from the Nexus 10.
logs.zip
A ZIP of two log files which crash the app
(33.41 KiB) Downloaded 2 times

rtlsdrblog
Site Admin
Posts: 2383
Joined: Mon Nov 19, 2012 11:54 pm

Re: Android app crash

Post by rtlsdrblog » Sun Nov 17, 2019 10:55 am

I'm able to open your log files on a Galaxy S8, and they look to have good results.

Is the csv file inside the Downloads/KerberosSDR folder?

Can you try increasing the skip every X points to 5 or so in case it's because the tablet is too slow to handle the plotting of so many data points?

Post Reply