title: java.lang.RuntimeException : Could not open input channel pair
body: <p>I'm testing my application with three phones (running andorid version : 4.1.2 - 4.0.4 - 2.3.6). They exchange data via Bluetooth without problems until this error appears in the logcat and the phone shutdowns completely and restarts. Before this error appears everything works perfectly.</p>
  
  <p>Here is the logcat output on the phone that crashes (the one running version 4.1.2):</p>
  
  <pre><code>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.&lt;init&gt;(InputEventReceiver.java:68)
  05-29 12:11:36.927: E/AndroidRuntime(8234):     at android.view.ViewRootImpl$WindowInputEventReceiver.&lt;init&gt;(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$1.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)
  </code></pre>
  
  <p>I don't know how this could be triggered by my application, there is not even one line inside this error output that points to one of my classes.</p>
  
  <p>Also on my S3 with android v4.1.1 I got this error and the phone rebooted after 80 min of normal activity:</p>
  
  <pre><code>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$1.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)
  </code></pre>
  
  <p>And again my S3 resetted with the same error of my Samsung S plus (v 4.1.2) after correctly working for 3 hours, here is the log:</p>
  
  <pre><code>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.&lt;init&gt;(InputEventReceiver.java:68)
  05-30 14:11:59.475: E/AndroidRuntime(13879):    at android.view.ViewRootImpl$WindowInputEventReceiver.&lt;init&gt;(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$1.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]
  </code></pre>