Serious BUG? - Samsung Galaxy SIII force close maps

RadCoder

Member
Licensed User
Longtime User
Very strange bug on with Samsung Flagship SIII phone complete stock (NO ROOT) running android 4.0.4. Im getting force close map messages during my app startup traced to the following sequence:

1) main activity calls datacontroller class

2) datacontroller calls class A

3) class A makes exactly 5 http calls using httputils2 (1 GET json, 4 GET images)

4) once all calls are complete class A fires dataready event back to datacontroller using callsubdelayed

5) datacontroller then calls Class B and Class B does the same with fewer http calls (only 2 calls 1GET 1POST)

During that sequence on the SIII with android 4.0.4, the unfiltered logs show the location fatal exception and while my app is running I get "maps" force close messages(usually more than one) .

FATAL EXCEPTION: NetworkLocationCallbackRunner
java.lang.NullPointerException
at com.google.googlenav.common.io.protocol.ProtoBuf.g etInt(SourceFile:228)
at com.google.android.location.e.e.b(SourceFile:196)
at com.google.android.location.b.f.a(SourceFile:395)
at com.google.android.location.b.b.a(SourceFile:167)
at com.google.android.location.p.d(SourceFile:268)
at com.google.android.location.os.real.c$c.handleMess age(SourceFile:358)
at android.os.Handler.dispatchMessage(Handler.java:99 )
at android.os.Looper.loop(Looper.java:137)
at com.google.android.location.os.real.c$f.run(Source File:822)
at java.lang.Thread.run(Thread.java:856)

After the loading procedures are complete, the maps FC's stop. The app functions normally. very concerning and annoying

I CANNOT reproduce on the following devices:
Nexus 7 - 4.1.1
HTC Desire G2 - 2.3.4
Moto Milestone3 - 2.3.6
Acer A500 - 4.0.3

Help! Thanks,
Rad
 

RadCoder

Member
Licensed User
Longtime User
stock Siii, stock maps, google maps. Im not using anything related to maps in this app, no location based api's or libs.
I think I may have fixed the problem but don't know for sure yet..

I made an assumption that subcalldelayed2 was using android.os.Message and for some reason on the Siii it was "corrupting" the internal maps app,somehow the wrong handler was processing the b4a message. I was initially passing a custom type to subcalldelayed2 as the data param, for example

type foo(a as string, b as string)

So based on that assumption I changed all my subcalldelayed2 to subcalldelayed and do not pass the type. I let the receiver handle retrieving the data from a class property instead. So far I have not been able to reproduce the bug on the Siii. However not knowing for sure what the original problem was concerns me. I will keep testing and hope it doesn't come back. But I still believe this requires further investigation....

Rad
 
Upvote 0

RadCoder

Member
Licensed User
Longtime User
how do callsubdelayed and callsubdelayed2 work? I was under the assumption that you were using the android message framework for queuing of actions such that we don't run into threading issues within b4a.
 
Upvote 0
Top