Android Question SOLVED: App crashing on Samsung S5

DouglasNYoung

Active Member
Licensed User
Longtime User
Hello oh wise ones,
I have an app which the current version has been running fine since January. Now one user has changed to a Samsung S5 running 4.4.2 and the app crashes on startup. The Crash Report shows

B4X:
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'samsung/hltexx/hlte:4.4.2/KOT49H/N9005XXUGNG1:user/release-keys'
Revision: '8'
pid: 9152, tid: 9152, name: xp64.tmtoolkit >>> xp64.tmtoolkit <<<
signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr fffffff4
r0 00000000 r1 788b6e1c r2 788b6e68 r3 6d657449
r4 727dc798 r5 788b6e10 r6 00000000 r7 00000043
r8 727dc7e0 r9 00000000 sl 40171801 fp 4017170a
ip 41779e70 sp beef8158 lr 41700db9 pc 4016f7d0 cpsr 200e0030
d0 0000000000000000 d1 0000000000000000
d2 0000000000000000 d3 0000000000000000
d4 72646e61656c6261 d5 6174656d5f64696f
d6 72646e6161746164 d7 0000000000000000
d8 42d8000000000000 d9 4473000043310000
d10 0000000044c72000 d11 0000000000000000
d12 0000000000000000 d13 0000000000000000
d14 0000000000000000 d15 0000000000000000
d16 0000000000000000 d17 0000000000000000
d18 0064007200610068 d19 0065007200610077
d20 007300690064002e d21 00790061006c0070
d22 006900440049002e d23 0061006c00700073
d24 401fe00000000000 d25 0000000000000000
d26 3ff0000000000000 d27 0000000000000000
d28 401fe00000000000 d29 4080b80000000000
d30 0000010000000100 d31 0000010000000100
scr 88000013

backtrace:
#00 pc 000107d0 /system/lib/libutils.so (android::Looper::pollInner(int)+499)
#01 pc 00010869 /system/lib/libutils.so (android::Looper::pollOnce(int, int*, int*, void**)+92)
#02 pc 000704a9 /system/lib/libandroid_runtime.so (android::NativeMessageQueue::pollOnce(_JNIEnv*, int)+22)
#03 pc 00020d0c /system/lib/libdvm.so (dvmPlatformInvoke+112)
#04 pc 000519af /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#05 pc 0002a1a0 /system/lib/libdvm.so
#06 pc 00031650 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#07 pc 0002ece8 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#08 pc 000640f9 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
#09 pc 0006c4b3 /system/lib/libdvm.so
#10 pc 0002a1a0 /system/lib/libdvm.so
#11 pc 00031650 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#12 pc 0002ece8 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#13 pc 00063e15 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#14 pc 0004d597 /system/lib/libdvm.so
#15 pc 0005242f /system/lib/libandroid_runtime.so
#16 pc 000539c3 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+354)
#17 pc 0000105b /system/bin/app_process
#18 pc 0000e51b /system/lib/libc.so (__libc_init+50)
#19 pc 00000d7c /system/bin/app_process

code around pc:
4016f7b0 68024639 c008f8d2 47e0682a 4620b918
4016f7c0 f7ff4639 68ebfe95 010cf105 6818b13b
4016f7d0 7c0cf850 f7fc19d8 f8c5fccc f06f900c
4016f7e0 36010701 428e6d21 4638d3d7 e8bdb049
4016f7f0 bf008ff0 00002098 00002125 00002175
4016f800 0000207c 0000207a 00002114 43f8e92d
4016f810 46884604 461e4615 20009f08 0914f04f
4016f820 6ce3e011 65e11c51 3202fb09 2b006893
4016f830 6850db09 69126811 6028b105 6031b106
4016f840 603ab1b7 6de2e014 429a6d23 b148d3e9
4016f850 2100b10d b10e6029 60322200 2300b13f
4016f860 e004603b 46414620 feb8f7ff 4603e7eb
4016f870 e8bd4618 000083f8 47f3e92d 46071e0e
4016f880 46994690 a028f8dd 4642dc0a a000f8cd
4016f890 46314638 f7ff464b 1c82ffb9 e01dd0f5
4016f8a0 f7fe2001 4b0ef90d 460d4604 4506fbc3

code around lr:
41700d98 bf00bd3e 00078e9e fffffe58 0005a9b2
41700da8 0005f20d 2107b510 68004604 fb8ff00a
41700db8 bd104620 4603b537 460c4d12 46194668
41700dc8 f7ff447d b1c4ffc7 582d480f 7059f505
41700dd8 f7d39001 f505ea34 21007053 f7de4622
41700de8 b938ea84 20054909 46234a09 447a4479
41700df8 e9d0f7d3 f7ffa801 4668ff21 ffd2f7ff
41700e08 bf00bd3e 00078e3c fffffe5c 0005a940
41700e18 0005f1de b5374603 a801460d 4c094619
41700e28 ff98f7ff 447c4808 a8015821 2a00688a
41700e38 f04fbf0c 240034ff f7ff602a 4620ffb3
41700e48 bf00bd3e 00078dd6 fffffe58 4601b513
41700e58 a8014614 ff7ef7ff f7d34620 a801e98a
41700e68 ffa0f7ff b573bd1c 46164601 e9dda801
41700e78 f7ff4506 68f3ff6f d5060659 46294620
41700e88 0210f106 ebb2f7dd e9c6e001 a8014504

which isn't helping me to to identify the cause of the problem.

Can anybody point me in the right direction?

Thanks in advance,
Douglas
 

DouglasNYoung

Active Member
Licensed User
Longtime User
Looks like a crash in the android native code (not the app). What else do we know?

Thanks for the input 'Thedesolatesoul' - The only info from the user is that the user reports 'It starts to open and then I get a message saying “Unfortunately TM Toolkit has stopped”' on a S5 running 4.4.2

Cheers,
Douglas
 
Upvote 0

DouglasNYoung

Active Member
Licensed User
Longtime User
Are you showing a modal dialog (or calling DoEvents) in Activity_KeyPress?

Erel,
It shouldn't be as it crashes before getting to the Main Menu, which is just a ListView loaded from a database.
The only thing it does (before the menu) is to get user configuration from a text file and use this to check for data updates on a server. I believe the crash happens before the update check as the server records all requests for updates and there is no record corresponding to this user.

Regards,
Douglas

PS - I'll see if I can get a special version out to the user, over the weekend, which writes a log to file. That way hopefully I can establish which function or sun is causing the problem.
 
Upvote 0

DouglasNYoung

Active Member
Licensed User
Longtime User
Problem solved - traced it back to a legacy bit of code where Http.Download is called with the passed parameters build by the app - the user had a space in the configuration data passed in the url string. Result Android crashes!

Thanks for the input,
Douglas
 
Upvote 0

DouglasNYoung

Active Member
Licensed User
Longtime User
thedesolatesoul,
this must be a well established fact as in the documentation for HTTPUtils states :
  • Download2 encodes illegal parameters characters (like spaces)
I was using 'Download' not Download2 and a space had crept it - I find it surprising that it induces a crash, but it does!

Douglas
 
Upvote 0
Top