MsgBox2 causes android.util.AndroidRuntimeException

thedesolatesoul

Expert
Licensed User
Longtime User
Some of my code runs fine on a Froyo Emulator, but on ICS 4.0.4 (CM9 Nightly) I get the following exception.

From what I have read so far it seems that the same message is being posted twice in the message queue.

As download/upload transfers are happening in the background (with a possible timer running too), I show a messagebox to confirm deleting download history. At that point this exception is generated:
B4X:
android.util.AndroidRuntimeException: { what=0 when=-12h1m24s814ms } This message is already in use.
   at android.os.MessageQueue.enqueueMessage(MessageQueue.java:187)
   at android.os.Handler.sendMessageAtTime(Handler.java:473)
   at android.os.Handler.sendMessageDelayed(Handler.java:446)
   at android.os.Handler.sendMessage(Handler.java:383)
   at anywheresoftware.b4a.Msgbox.waitForMessage(Msgbox.java:172)
   at anywheresoftware.b4a.Msgbox.msgbox(Msgbox.java:127)
   at anywheresoftware.b4a.keywords.Common.Msgbox2(Common.java:404)
   at com.maximus.dropboxexample.main._clearalltransfers(main.java:1286)
   at com.maximus.dropboxexample.main._ab_itemclicked(main.java:328)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at anywheresoftware.b4a.BA.raiseEvent2(BA.java:105)
   at anywheresoftware.b4a.BA.raiseEvent2(BA.java:93)
   at anywheresoftware.b4a.BA.raiseEvent(BA.java:89)
   at de.amberhome.SimpleActionBar.ActionBar$Action.select(ActionBar.java:1683)
   at de.amberhome.SimpleActionBar.ActionBar$2.onClick(ActionBar.java:262)
   at android.view.View.performClick(View.java:3511)
   at android.view.View$PerformClick.run(View.java:14105)
   at android.os.Handler.handleCallback(Handler.java:605)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4424)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
   at dalvik.system.NativeStart.main(Native Method)
Later on I also get this one, but I think its harmless:
B4X:
libcore.io.ErrnoException: kill failed: ESRCH (No such process)
   at libcore.io.Posix.kill(Native Method)
   at libcore.io.ForwardingOs.kill(ForwardingOs.java:77)
   at java.lang.ProcessManager$ProcessImpl.destroy(ProcessManager.java:257)
   at anywheresoftware.b4a.phone.Phone$LogCat.LogCatStop(Phone.java:758)
   at anywheresoftware.b4a.b4abridge.service1._stoplogcat(service1.java:510)
   at anywheresoftware.b4a.b4abridge.service1._streams_newdata(service1.java:565)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at anywheresoftware.b4a.BA.raiseEvent2(BA.java:136)
   at anywheresoftware.b4a.BA$2.run(BA.java:244)
   at android.os.Handler.handleCallback(Handler.java:605)
   at android.os.Handler.dispatchMessage(Handler.java:92)
   at android.os.Looper.loop(Looper.java:137)
   at android.app.ActivityThread.main(ActivityThread.java:4424)
   at java.lang.reflect.Method.invokeNative(Native Method)
   at java.lang.reflect.Method.invoke(Method.java:511)
   at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787)
   at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554)
   at dalvik.system.NativeStart.main(Native Method)
 

RadCoder

Member
Licensed User
Longtime User
no i'm not showing a message box. Im running b4a 2.02. I have traced it to the following sequence:

main activity calls datacontroller class
datacontroller calls class A
class A makes exactly 5 http calls using httputils2 (1 json, 4 images)
once all calls are complete class A fires dataready event back to datacontroller using callsubdelayed
datacontroller then calls Class B and Class B does the same with fewer http calls (only 2)


During that sequence on an 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.getInt(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.handleMessage(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(SourceFile:822)
at java.lang.Thread.run(Thread.java:856)

I cannot reproduce on:
Nexus 7 - 4.1.1
HTC Desire G2 - 2.3.4
Moto Milestone3 - 2.3.6
 
Upvote 0
Top