Skip to content

Signal R Core Java Client Crashing #20187

@jaragones

Description

@jaragones

Describe the bug
When using the Java client SDK for Signal R Core, it crashes when the socket pipe had broken. I attach a log through Firebase and this issue couldn't been reproduce on my own device.

To Reproduce
I couldn't reproduce/replicate this issue. Only information available is stack trace.

Stack trace is...

Fatal Exception: io.reactivex.exceptions.UndeliverableException: The exception could not be delivered to the consumer because it has already canceled/disposed the flow or the exception has nowhere to go to begin with. Further reading: https://github.com/ReactiveX/RxJava/wiki/What's-different-in-2.0#error-handling | java.lang.RuntimeException: javax.net.ssl.SSLException: Write error: ssl=0x765d82cf08: I/O error during system call, Broken pipe
       at io.reactivex.plugins.RxJavaPlugins.onError(RxJavaPlugins.java:367)
       at io.reactivex.subjects.CompletableSubject.onError(CompletableSubject.java:131)
       at com.microsoft.signalr.OkHttpWebSocketWrapper$SignalRWebSocketListener.onFailure(OkHttpWebSocketWrapper.java:97)
       at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570)
       at okhttp3.internal.ws.RealWebSocket.lambda$new$0$RealWebSocket(RealWebSocket.java:161)
       at okhttp3.internal.ws.-$$Lambda$RealWebSocket$vImgSP5IPT4ir3b3bHxPQ53ps8k.run(:2)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:919)
Caused by java.lang.RuntimeException: javax.net.ssl.SSLException: Write error: ssl=0x765d82cf08: I/O error during system call, Broken pipe
       at com.microsoft.signalr.OkHttpWebSocketWrapper$SignalRWebSocketListener.onFailure(OkHttpWebSocketWrapper.java:97)
       at okhttp3.internal.ws.RealWebSocket.failWebSocket(RealWebSocket.java:570)
       at okhttp3.internal.ws.RealWebSocket.lambda$new$0$RealWebSocket(RealWebSocket.java:161)
       at okhttp3.internal.ws.-$$Lambda$RealWebSocket$vImgSP5IPT4ir3b3bHxPQ53ps8k.run(:2)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:919)
Caused by javax.net.ssl.SSLException: Write error: ssl=0x765d82cf08: I/O error during system call, Broken pipe
       at com.android.org.conscrypt.NativeCrypto.SSL_write(NativeCrypto.java)
       at com.android.org.conscrypt.NativeSsl.write(NativeSsl.java:426)
       at com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream.write(ConscryptFileDescriptorSocket.java:660)
       at okio.Okio$1.write(Okio.java:79)
       at okio.AsyncTimeout$1.write(AsyncTimeout.java:180)
       at okio.RealBufferedSink.emit(RealBufferedSink.java:186)
       at okhttp3.internal.ws.WebSocketWriter.writeMessageFrame(WebSocketWriter.java:212)
       at okhttp3.internal.ws.WebSocketWriter$FrameSink.close(WebSocketWriter.java:252)
       at okio.RealBufferedSink.close(RealBufferedSink.java:248)
       at okhttp3.internal.ws.RealWebSocket.writeOneFrame(RealWebSocket.java:500)
       at okhttp3.internal.ws.RealWebSocket.lambda$new$0$RealWebSocket(RealWebSocket.java:158)
       at okhttp3.internal.ws.-$$Lambda$RealWebSocket$vImgSP5IPT4ir3b3bHxPQ53ps8k.run(:2)
       at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:462)
       at java.util.concurrent.FutureTask.run(FutureTask.java:266)
       at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:301)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
       at java.lang.Thread.run(Thread.java:919)

Further technical details

  • signalR 5.0.0-preview (installed using gradle: implementation 'com.microsoft.signalr:signalr:+')

Metadata

Metadata

Assignees

Labels

area-signalrIncludes: SignalR clients and servers

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions