Java.lang.RuntimeException: impossible d'ouvrir la paire de canaux d'entrée
je teste mon application avec trois téléphones (version andorid : 4.1.2 - 4.0.4 - 2.3.6). Ils échangent des données via Bluetooth sans problème jusqu'à ce que cette erreur apparaisse dans le logcat et le téléphone ferme complètement et redémarre. Avant cette erreur apparaît tout fonctionne parfaitement.
Voici la sortie logcat sur le téléphone qui tombe en panne (celle qui exécute la version 4.1.2):
05-29 12:11:36.887: E/InputTransport(2947): channel '418655a8 Toast' ~ Could not create socket pair. errno=24
05-29 12:11:36.897: E/JavaBinder(2947): *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
05-29 12:11:36.897: E/JavaBinder(2947): java.lang.RuntimeException: Could not open input channel pair. status=-24
05-29 12:11:36.897: E/JavaBinder(2947): at android.view.InputChannel.nativeOpenInputChannelPair(Native Method)
05-29 12:11:36.897: E/JavaBinder(2947): at android.view.InputChannel.openInputChannelPair(InputChannel.java:91)
05-29 12:11:36.897: E/JavaBinder(2947): at com.android.server.wm.WindowManagerService.addWindow(WindowManagerService.java:2295)
05-29 12:11:36.897: E/JavaBinder(2947): at com.android.server.wm.Session.add(Session.java:139)
05-29 12:11:36.897: E/JavaBinder(2947): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:70)
05-29 12:11:36.897: E/JavaBinder(2947): at com.android.server.wm.Session.onTransact(Session.java:111)
05-29 12:11:36.897: E/JavaBinder(2947): at android.os.Binder.execTransact(Binder.java:367)
05-29 12:11:36.897: E/JavaBinder(2947): at dalvik.system.NativeStart.run(Native Method)
05-29 12:11:36.897: E/WindowManager(2947): Window Session Crash
05-29 12:11:36.897: E/WindowManager(2947): java.lang.RuntimeException: Could not open input channel pair. status=-24
05-29 12:11:36.897: E/WindowManager(2947): at android.view.InputChannel.nativeOpenInputChannelPair(Native Method)
05-29 12:11:36.897: E/WindowManager(2947): at android.view.InputChannel.openInputChannelPair(InputChannel.java:91)
05-29 12:11:36.897: E/WindowManager(2947): at com.android.server.wm.WindowManagerService.addWindow(WindowManagerService.java:2295)
05-29 12:11:36.897: E/WindowManager(2947): at com.android.server.wm.Session.add(Session.java:139)
05-29 12:11:36.897: E/WindowManager(2947): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:70)
05-29 12:11:36.897: E/WindowManager(2947): at com.android.server.wm.Session.onTransact(Session.java:111)
05-29 12:11:36.897: E/WindowManager(2947): at android.os.Binder.execTransact(Binder.java:367)
05-29 12:11:36.897: E/WindowManager(2947): at dalvik.system.NativeStart.run(Native Method)
05-29 12:11:36.907: D/AndroidRuntime(8234): Shutting down VM
05-29 12:11:36.907: W/dalvikvm(8234): threadid=1: thread exiting with uncaught exception (group=0x40abc300)
05-29 12:11:36.927: E/AndroidRuntime(8234): FATAL EXCEPTION: main
05-29 12:11:36.927: E/AndroidRuntime(8234): java.lang.RuntimeException: InputChannel is not initialized.
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.InputEventReceiver.nativeInit(Native Method)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.InputEventReceiver.<init>(InputEventReceiver.java:68)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.ViewRootImpl$WindowInputEventReceiver.<init>(ViewRootImpl.java:4221)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.ViewRootImpl.setView(ViewRootImpl.java:626)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:326)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:220)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.widget.Toast$TN.handleShow(Toast.java:391)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.widget.Toast$TN.run(Toast.java:309)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.os.Handler.handleCallback(Handler.java:615)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.os.Looper.loop(Looper.java:137)
05-29 12:11:36.927: E/AndroidRuntime(8234): at android.app.ActivityThread.main(ActivityThread.java:4931)
05-29 12:11:36.927: E/AndroidRuntime(8234): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 12:11:36.927: E/AndroidRuntime(8234): at java.lang.reflect.Method.invoke(Method.java:511)
05-29 12:11:36.927: E/AndroidRuntime(8234): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:791)
05-29 12:11:36.927: E/AndroidRuntime(8234): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:558)
05-29 12:11:36.927: E/AndroidRuntime(8234): at dalvik.system.NativeStart.main(Native Method)
05-29 12:11:36.947: W/ActivityManager(2947): Force finishing activity com.vittorio/.tabContainer.FloatyTab
05-29 12:11:36.967: E/IMemory(2947): binder=0x23b2708 transaction failed fd=-2147483647, size=0, err=-2147483646 (Unknown error: 2147483646)
05-29 12:11:36.967: E/IMemory(2947): cannot dup fd=-2147483647, size=0, err=-2147483646 (Bad file number)
05-29 12:11:36.967: E/IMemory(2947): cannot map BpMemoryHeap (binder=0x23b2708), size=0, fd=-1 (Bad file number)
je ne sais pas comment cela pourrait être déclenchée par mon application, il est même pas une ligne à l'intérieur de cette sortie d'erreur qui pointe vers un de mes classes.
également sur mon S3 avec android v4.1.1 j'ai eu cette erreur et le téléphone a redémarré après 80 min d'activité normale:
05-29 16:13:47.455: E/InputChannel-JNI(7490): Error 9 dup channel fd -2147483647.
05-29 16:13:47.455: D/AndroidRuntime(7490): Shutting down VM
05-29 16:13:47.455: W/dalvikvm(7490): threadid=1: thread exiting with uncaught exception (group=0x4101a2a0)
05-29 16:13:47.465: E/AndroidRuntime(7490): FATAL EXCEPTION: main
05-29 16:13:47.465: E/AndroidRuntime(7490): java.lang.RuntimeException: Could not read input channel file descriptors from parcel.
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.InputChannel.nativeReadFromParcel(Native Method)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.InputChannel.readFromParcel(InputChannel.java:135)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.IWindowSession$Stub$Proxy.add(IWindowSession.java:523)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.ViewRootImpl.setView(ViewRootImpl.java:663)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:345)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:220)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.widget.Toast$TN.handleShow(Toast.java:431)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.widget.Toast$TN.run(Toast.java:348)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.os.Handler.handleCallback(Handler.java:615)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.os.Handler.dispatchMessage(Handler.java:92)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.os.Looper.loop(Looper.java:137)
05-29 16:13:47.465: E/AndroidRuntime(7490): at android.app.ActivityThread.main(ActivityThread.java:4898)
05-29 16:13:47.465: E/AndroidRuntime(7490): at java.lang.reflect.Method.invokeNative(Native Method)
05-29 16:13:47.465: E/AndroidRuntime(7490): at java.lang.reflect.Method.invoke(Method.java:511)
05-29 16:13:47.465: E/AndroidRuntime(7490): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
05-29 16:13:47.465: E/AndroidRuntime(7490): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
05-29 16:13:47.465: E/AndroidRuntime(7490): at dalvik.system.NativeStart.main(Native Method)
Et encore mon S3 remises à zéro avec le même message d'erreur de mon Samsung S plus (v 4.1.2) après avoir correctement pendant 3 heures, voici le log:
05-30 14:11:59.455: E/InputTransport(2262): channel '422b4910 Toast' ~ Could not create socket pair. errno=24
05-30 14:11:59.465: E/JavaBinder(2262): *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
05-30 14:11:59.465: E/JavaBinder(2262): java.lang.RuntimeException: Could not open input channel pair. status=-24
05-30 14:11:59.465: E/JavaBinder(2262): at android.view.InputChannel.nativeOpenInputChannelPair(Native Method)
05-30 14:11:59.465: E/JavaBinder(2262): at android.view.InputChannel.openInputChannelPair(InputChannel.java:91)
05-30 14:11:59.465: E/JavaBinder(2262): at com.android.server.wm.WindowManagerService.addWindow(WindowManagerService.java:2931)
05-30 14:11:59.465: E/JavaBinder(2262): at com.android.server.wm.Session.add(Session.java:139)
05-30 14:11:59.465: E/JavaBinder(2262): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:70)
05-30 14:11:59.465: E/JavaBinder(2262): at com.android.server.wm.Session.onTransact(Session.java:111)
05-30 14:11:59.465: E/JavaBinder(2262): at android.os.Binder.execTransact(Binder.java:367)
05-30 14:11:59.465: E/JavaBinder(2262): at dalvik.system.NativeStart.run(Native Method)
05-30 14:11:59.465: E/WindowManager(2262): Window Session Crash
05-30 14:11:59.465: E/WindowManager(2262): java.lang.RuntimeException: Could not open input channel pair. status=-24
05-30 14:11:59.465: E/WindowManager(2262): at android.view.InputChannel.nativeOpenInputChannelPair(Native Method)
05-30 14:11:59.465: E/WindowManager(2262): at android.view.InputChannel.openInputChannelPair(InputChannel.java:91)
05-30 14:11:59.465: E/WindowManager(2262): at com.android.server.wm.WindowManagerService.addWindow(WindowManagerService.java:2931)
05-30 14:11:59.465: E/WindowManager(2262): at com.android.server.wm.Session.add(Session.java:139)
05-30 14:11:59.465: E/WindowManager(2262): at android.view.IWindowSession$Stub.onTransact(IWindowSession.java:70)
05-30 14:11:59.465: E/WindowManager(2262): at com.android.server.wm.Session.onTransact(Session.java:111)
05-30 14:11:59.465: E/WindowManager(2262): at android.os.Binder.execTransact(Binder.java:367)
05-30 14:11:59.465: E/WindowManager(2262): at dalvik.system.NativeStart.run(Native Method)
05-30 14:11:59.470: D/AndroidRuntime(13879): Shutting down VM
05-30 14:11:59.470: W/dalvikvm(13879): threadid=1: thread exiting with uncaught exception (group=0x410c92a0)
05-30 14:11:59.475: E/AndroidRuntime(13879): FATAL EXCEPTION: main
05-30 14:11:59.475: E/AndroidRuntime(13879): java.lang.RuntimeException: InputChannel is not initialized.
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.InputEventReceiver.nativeInit(Native Method)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.InputEventReceiver.<init>(InputEventReceiver.java:68)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.ViewRootImpl$WindowInputEventReceiver.<init>(ViewRootImpl.java:4477)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.ViewRootImpl.setView(ViewRootImpl.java:738)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:345)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:220)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.widget.Toast$TN.handleShow(Toast.java:431)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.widget.Toast$TN.run(Toast.java:348)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.os.Handler.handleCallback(Handler.java:615)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.os.Handler.dispatchMessage(Handler.java:92)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.os.Looper.loop(Looper.java:137)
05-30 14:11:59.475: E/AndroidRuntime(13879): at android.app.ActivityThread.main(ActivityThread.java:4898)
05-30 14:11:59.475: E/AndroidRuntime(13879): at java.lang.reflect.Method.invokeNative(Native Method)
05-30 14:11:59.475: E/AndroidRuntime(13879): at java.lang.reflect.Method.invoke(Method.java:511)
05-30 14:11:59.475: E/AndroidRuntime(13879): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1006)
05-30 14:11:59.475: E/AndroidRuntime(13879): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:773)
05-30 14:11:59.475: E/AndroidRuntime(13879): at dalvik.system.NativeStart.main(Native Method)
05-30 14:11:59.515: E/IMemory(2262): cannot dup fd=1023, size=765952, err=0 (Too many open files)
05-30 14:11:59.515: E/IMemory(2262): cannot map BpMemoryHeap (binder=0x5efc9c38), size=765952, fd=-1 (Bad file number)
05-30 14:11:59.515: A/libc(2262): Fatal signal 11 (SIGSEGV) at 0x000075df (code=1), thread 4933 (Binder_9)
05-30 14:11:59.515: A/libc(2262): Unable to open connection to debuggerd: Too many open files
05-30 14:11:59.685: W/Sensors(24753): sensorservice died [0x40d75010]
1 réponses
c'est un bug. peut-être que vous pouvez vérifier https://code.google.com/p/android/issues/detail?id=32470 pour certaines mises à jour..