[LayaNative 2.0]native2.1 安卓退到后台时,概率闪退

从main线程看到一个 layaair.game.browser.b.onPause(Unknown Source),然后对应到mainActivity刚好是onpause 方法执行的时候,就gg了,这个在统计出的崩溃出现概率里,还是算很多的,但是不是必现,出现概率为46.88%
bug问题1.png

可以看到,出这个问题的,android 系统都是4.4.x,level 19
#32098 Thread-8494
SIGILL(ILL_ILLOPC)
解析原始
1 #00 pc 00011392 /data/app-lib/com.slxgame.rubbishflip-1/libv8_libbase.cr.so (v8::base::OS::Abort()+13) [armeabi]
2 #01 pc 0000eccb /data/app-lib/com.slxgame.rubbishflip-1/libv8_libbase.cr.so (V8_Fatal(char const*, int, char const*, ...)+154) [armeabi]
3 java:
4 [Failed to get Java stack]
 
#1 main
1 java.lang.Object.wait(Native Method)
2 java.lang.Object.wait(Object.java:361)
3 android.opengl.GLSurfaceView$GLThread.onPause(GLSurfaceView.java:1729)
4 android.opengl.GLSurfaceView.onPause(GLSurfaceView.java:575)
5 layaair.game.browser.b.onPause(Unknown Source)
6 layaair.game.conch.LayaConch5.onPause(Unknown Source)
7 layaair.game.Market.GameEngine.game_plugin_onPause(GameEngine.java:91)
8 demo.MainActivity.onPause(MainActivity.java:224)
9 android.app.Activity.performPause(Activity.java:5567)
10 android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1239)
11 android.app.ActivityThread.performPauseActivity(ActivityThread.java:3358)
12 android.app.ActivityThread.performPauseActivity(ActivityThread.java:3327)
13 android.app.ActivityThread.handlePauseActivity(ActivityThread.java:3305)
14 android.app.ActivityThread.access$1000(ActivityThread.java:174)
15 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1409)
16 android.os.Handler.dispatchMessage(Handler.java:110)
17 android.os.Looper.loop(Looper.java:229)
18 android.app.ActivityThread.main(ActivityThread.java:5493)
19 java.lang.reflect.Method.invokeNative(Native Method)
20 java.lang.reflect.Method.invoke(Method.java:515)
21 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
22 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:676)
23 dalvik.system.NativeStart.main(Native Method)
 
#8394 GC
1 dalvik.system.NativeStart.run(Native Method)
 
#8395 Signal Catcher
1 dalvik.system.NativeStart.run(Native Method)
 
#8396 Compiler
1 dalvik.system.NativeStart.run(Native Method)
 
#8397 ReferenceQueueDaemon
1 java.lang.Object.wait(Native Method)
2 java.lang.Object.wait(Object.java:361)
3 java.lang.Daemons$ReferenceQueueDaemon.run(Daemons.java:135)
4 java.lang.Thread.run(Thread.java:848)
 
#8398 FinalizerDaemon
1 java.lang.Object.wait(Native Method)
2 java.lang.Object.wait(Object.java:400)
3 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:102)
4 java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:73)
5 java.lang.Daemons$FinalizerDaemon.run(Daemons.java:175)
6 java.lang.Thread.run(Thread.java:848)
 
#8399 FinalizerWatchdogDaemon
1 java.lang.VMThread.sleep(Native Method)
2 java.lang.Thread.sleep(Thread.java:1020)
3 java.lang.Thread.sleep(Thread.java:1002)
4 java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:252)
5 java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:264)
6 java.lang.Daemons$FinalizerWatchdogDaemon.run(Daemons.java:216)
7 java.lang.Thread.run(Thread.java:848)
 
#8400 Binder_1
1 dalvik.system.NativeStart.run(Native Method)
 
#8401 Binder_2
1 dalvik.system.NativeStart.run(Native Method)
 
#8402 FileObserver
1 android.os.FileObserver$ObserverThread.observe(Native Method)
2 android.os.FileObserver$ObserverThread.run(FileObserver.java:88)
 
#8405 work_thread
1 android.os.MessageQueue.nativePollOnce(Native Method)
2 android.os.MessageQueue.next(MessageQueue.java:140)
3 android.os.Looper.loop(Looper.java:179)
4 android.os.HandlerThread.run(HandlerThread.java:61)
 
#8406 NetWorkSender
1 com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
2 com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:412)
3 com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
4 com.android.okhttp.Connection.connect(Connection.java:107)
5 com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
6 com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
7 com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
8 com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:355)
9 com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
10 com.android.okhttp.internal.http.HttpURLConnectionImpl.getOutputStream(HttpURLConnectionImpl.java:197)
11 com.android.okhttp.internal.http.HttpsURLConnectionImpl.getOutputStream(HttpsURLConnectionImpl.java:254)
12 com.umeng.commonsdk.statistics.internal.c.b(NetworkHelper.java:446)
13 com.umeng.commonsdk.statistics.internal.c.a(NetworkHelper.java:214)
14 com.umeng.commonsdk.statistics.c.a(NetWorkManager.java:185)
15 com.umeng.commonsdk.framework.b.q(UMNetWorkSender.java:492)
16 com.umeng.commonsdk.framework.b.j(UMNetWorkSender.java:32)
17 com.umeng.commonsdk.framework.b$2.handleMessage(UMNetWorkSender.java:259)
18 android.os.Handler.dispatchMessage(Handler.java:110)
19 android.os.Looper.loop(Looper.java:229)
20 android.os.HandlerThread.run(HandlerThread.java:61)
 
#8413 pool-1-thread-1
1 java.lang.Object.wait(Native Method)
2 java.lang.Thread.parkFor(Thread.java:1212)
3 sun.misc.Unsafe.park(Unsafe.java:325)
4 java.util.concurrent.locks.LockSupport.park(LockSupport.java:157)
5 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2017)
6 java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:410)
7 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
8 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
9 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
10 java.lang.Thread.run(Thread.java:848)
 
#8414 Thread-8414
1 java.lang.VMThread.sleep(Native Method)
2 java.lang.Thread.sleep(Thread.java:1020)
3 java.lang.Thread.sleep(Thread.java:1002)
4 com.umeng.commonsdk.proguard.c$1.run(UMSysLocationCache.java:165)
5 java.lang.Thread.run(Thread.java:848)
 
#8416 pool-3-thread-1
1 java.lang.Object.wait(Native Method)
2 java.lang.Thread.parkFor(Thread.java:1212)
3 sun.misc.Unsafe.park(Unsafe.java:325)
4 java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:197)
5 java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(SynchronousQueue.java:429)
6 java.util.concurrent.SynchronousQueue$TransferStack.transfer(SynchronousQueue.java:331)
7 java.util.concurrent.SynchronousQueue.poll(SynchronousQueue.java:910)
8 java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1035)
9 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1097)
10 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
11 java.lang.Thread.run(Thread.java:848)
 
#8418 pool-3-thread-2
1 libcore.io.Posix.getaddrinfo(Native Method)
2 libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:61)
3 java.net.InetAddress.lookupHostByName(InetAddress.java:406)
4 java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
5 java.net.InetAddress.getAllByName(InetAddress.java:214)
6 com.android.okhttp.internal.Dns$1.getAllByName(Dns.java:28)
7 com.android.okhttp.internal.http.RouteSelector.resetNextInetSocketAddress(RouteSelector.java:216)
8 com.android.okhttp.internal.http.RouteSelector.next(RouteSelector.java:122)
9 com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:292)
10 com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
11 com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
12 com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:355)
13 com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
14 com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)
15 com.uparpu.b.e.a$1.a(AbsHttpLoader.java:412)
16 com.uparpu.b.e.a$1.a(AbsHttpLoader.java:334)
17 com.uparpu.b.g.a.b.run(Worker.java:37)
18 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
19 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
20 java.lang.Thread.run(Thread.java:848)
对应的apk包已经上传为附件,如果还需要更为精准的log,请联系我
已邀请:

海螺Lei

赞同来自:

同样的,在这个时候,还出了另一个错误,详情见下面的log,这个问题,出现的情况就和上面的不同,从5.0 - 9.0 ,level 22- level 28 ,都在出这个错误,真的搞不太清楚是为什么,还有就是我的压缩包上传到100%之后就一直转菊花无响应,需要包的,请联系 QQ:569320549 获取,非常感谢
 
# GLThread 759(759)
SIGTRAP(TRAP_BRKPT)
解析原始
1 #00 pc 00000000000160f0 /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/libv8_libbase.cr.so (v8::base::OS::Abort()+24) [arm64-v8a]
2 #01 pc 000000000084479c /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/libv8.cr.so [arm64-v8a]
3 #02 pc 000000000017ea68 /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/liblayaair.so (laya::Javascript::init(int)+88) [arm64-v8a]
4 #03 pc 000000000021b040 /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/liblayaair.so (laya::JCScriptRuntime::start(char const*)+148) [arm64-v8a]
5 #04 pc 0000000000216c6c /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/liblayaair.so (laya::JCConch::onAppStart()+268) [arm64-v8a]
6 #05 pc 000000000022b84c /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/lib/arm64/liblayaair.so (Java_layaair_game_browser_ConchJNI_OnGLReady+400) [arm64-v8a]
7 #06 pc 000000000001fc10 /data/app/com.slxgame.rubbishflip-VrhGfNFK-OMotKp3IEfuew==/oat/arm64/base.odex [arm64-v8a]
8 java:
9 layaair.game.browser.e.onSurfaceChanged(Unknown Source:115)
10 android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1555)
11 android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1270)
 
# main(2)
1 java.lang.Object.wait(Native Method)
2 android.opengl.GLSurfaceView$GLThread.onPause(GLSurfaceView.java:1727)
3 android.opengl.GLSurfaceView.onPause(GLSurfaceView.java:578)
4 layaair.game.browser.b.onPause(Unknown Source:0)
5 layaair.game.conch.LayaConch5.onPause(Unknown Source:11)
6 layaair.game.Market.GameEngine.game_plugin_onPause(GameEngine.java:91)
7 demo.MainActivity.onPause(MainActivity.java:224)
8 android.app.Activity.performPause(Activity.java:7342)
9 android.app.Instrumentation.callActivityOnPause(Instrumentation.java:1609)
10 android.app.ActivityThread.performPauseActivityIfNeeded(ActivityThread.java:4167)
11 android.app.ActivityThread.performPauseActivity(ActivityThread.java:4132)
12 android.app.ActivityThread.handlePauseActivity(ActivityThread.java:4083)
13 android.app.servertransaction.PauseActivityItem.execute(PauseActivityItem.java:45)
14 android.app.servertransaction.TransactionExecutor.executeLifecycleState(TransactionExecutor.java:145)
15 android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:70)
16 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1916)
17 android.os.Handler.dispatchMessage(Handler.java:106)
18 android.os.Looper.loop(Looper.java:193)
19 android.app.ActivityThread.main(ActivityThread.java:6898)
20 java.lang.reflect.Method.invoke(Native Method)
21 com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:537)
22 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
 
# ReferenceQueueDaemon(462)
1 libcore.util.NativeAllocationRegistry.applyFreeFunction(Native Method)
2 libcore.util.NativeAllocationRegistry$CleanerThunk.run(NativeAllocationRegistry.java:201)
3 sun.misc.Cleaner.clean(Cleaner.java:143)
4 java.lang.ref.ReferenceQueue.enqueueLocked(ReferenceQueue.java:75)
5 java.lang.ref.ReferenceQueue.enqueuePending(ReferenceQueue.java:243)
6 java.lang.Daemons$ReferenceQueueDaemon.runInternal(Daemons.java:194)
7 java.lang.Daemons$Daemon.run(Daemons.java:109)
8 java.lang.Thread.run(Thread.java:764)
 
# FinalizerDaemon(463)
1 java.lang.Daemons$FinalizerWatchdogDaemon.wakeUp(Unknown Source:0)
2 java.lang.Daemons$FinalizerWatchdogDaemon.access$500(Daemons.java:272)
3 java.lang.Daemons$FinalizerDaemon.runInternal(Daemons.java:241)
4 java.lang.Daemons$Daemon.run(Daemons.java:109)
5 java.lang.Thread.run(Thread.java:764)
 
# FinalizerWatchdogDaemon(464)
1 java.lang.Thread.sleep(Native Method)
2 java.lang.Thread.sleep(Thread.java:373)
3 java.lang.Thread.sleep(Thread.java:314)
4 java.lang.Daemons$FinalizerWatchdogDaemon.sleepFor(Daemons.java:353)
5 java.lang.Daemons$FinalizerWatchdogDaemon.waitForFinalization(Daemons.java:394)
6 java.lang.Daemons$FinalizerWatchdogDaemon.runInternal(Daemons.java:287)
7 java.lang.Daemons$Daemon.run(Daemons.java:109)
8 java.lang.Thread.run(Thread.java:764)
 
# work_thread(471)
1 android.os.MessageQueue.nativePollOnce(Native Method)
2 android.os.MessageQueue.next(MessageQueue.java:326)
3 android.os.Looper.loop(Looper.java:160)
4 android.os.HandlerThread.run(HandlerThread.java:65)
 
# NetWorkSender(472)
1 android.os.MessageQueue.nativePollOnce(Native Method)
2 android.os.MessageQueue.next(MessageQueue.java:326)
3 android.os.Looper.loop(Looper.java:160)
4 android.os.HandlerThread.run(HandlerThread.java:65)
 
# FileObserver(473)
1 android.os.FileObserver$ObserverThread.observe(Native Method)
2 android.os.FileObserver$ObserverThread.run(FileObserver.java:86)
 
# queued-work-looper(480)
1 android.os.MessageQueue.nativePollOnce(Native Method)
2 android.os.MessageQueue.next(MessageQueue.java:326)
3 android.os.Looper.loop(Looper.java:160)
4 android.os.HandlerThread.run(HandlerThread.java:65)

海螺Lei

赞同来自:

看来官方是没得啥子反应了,算了,自己想办法吧

Aar0n

赞同来自:

这个问题有反应的,只不过没有必现的demo,偶现闪退靠log不好查,
如果能提供必现demo可以解决,如果只是偶现也许需要购买服务解决。

要回复问题请先

商务合作
商务合作