[ https://issues.apache.org/jira/browse/WAVE-312?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13432684#comment-13432684 ]
Yuri Zelikov commented on WAVE-312: ----------------------------------- It seems to be an issue with the browser closing the websocket. And then Socket.IO tries to write the socket - but fails. The websocket is closed with error 1006. This error is called CLOSE_ABNORMAL and described as follows (MDN/RFC 6455): Reserved. Used to indicate that a connection was closed abnormally (that is, with no close frame being sent) when a status code is expected. Anyway, I don't know what can cause the issue, but the problem is related to websockets - possibly for the browsers websocket implementations. Maybe the issue happens only on some (older?) browsers. We can try to reproduce the problem and watch if some JS errors are displayed in the browser console. ------------------- INFO: websocket disconnected (1006 - closed): org.waveprotocol.box.server.rpc.WebSocketServerChannel@77952afd ... Jul 26, 2012 11:41:53 AM org.waveprotocol.box.server.rpc.WebSocketChannel sendMessage WARNING: Failed to transmit message on socket, sequence number 10, message java.io.IOException: Connection reset by peer at sun.nio.ch.FileDispatcher.write0(Native Method) at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:122) at sun.nio.ch.IOUtil.write(IOUtil.java:78) at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:352) at org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:292) at org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPoint.java:344) ------------------ --------------- INFO: Submit to [WaveletName waveinabox.net/w+gY-qNfER1lA/waveinabox.net/conv+root] by plu...@waveinabox.net @ 262 with 2 ops Jul 29, 2012 9:35:40 AM org.waveprotocol.box.server.rpc.WebSocketChannel sendMessage WARNING: Failed to transmit message on socket, sequence number 1, message wavelet_name: "waveinabox.net/w+gY-qNfER1lA/~/conv+root" applied_delta { hashed_version { version: 262 history_hash: "" } author: "plu...@waveinabox.net" operation { mutate_document { document_id: "conversation" document_operation { component { retain_item_count: 9 } component { element_start { type: "blip" attribute { key: "id" value: "b+dKyEpzt2jTA" } } } component { element_end: true } component { retain_item_count: 1 } } } } operation { mutate_document { document_id: "b+dKyEpzt2jTA" document_operation { component { annotation_boundary { change { key: "user/d/dKyEpzt2jT" new_value: "plu...@waveinabox.net,1343554540345," } } } component { retain_item_count: 3 } component { annotation_boundary { change { key: "user/e/dKyEpzt2jT" new_value: "plu...@waveinabox.net" } } } component { retain_item_count: 1 } component { annotation_boundary { end: "user/d/dKyEpzt2jT" end: "user/e/dKyEpzt2jT" } } } } } } resulting_version { version: 264 history_hash: "\370\2045\206(lF\230\334sX\024\230\356\324\301\030\220h\221" } channel_id: "ch1015" com.glines.socketio.common.SocketIOException: org.eclipse.jetty.io.EofException at com.glines.socketio.server.transport.jetty.JettyContinuationTransportHandler.sendMessage(JettyContinuationTransportHandler.java:160) at com.glines.socketio.server.transport.jetty.JettyContinuationTransportHandler.sendMessage(JettyContinuationTransportHandler.java:194) at com.glines.socketio.server.transport.jetty.JettyContinuationTransportHandler.sendMessage(JettyContinuationTransportHandler.java:186) at org.waveprotocol.box.server.rpc.SocketIOServerChannel.sendMessageString(SocketIOServerChannel.java:97) at org.waveprotocol.box.server.rpc.WebSocketChannel.sendMessage(WebSocketChannel.java:143) at org.waveprotocol.box.server.rpc.ServerRpcProvider$SocketIOConnection.sendMessage(ServerRpcProvider.java:173) at org.waveprotocol.box.server.rpc.ServerRpcProvider$Connection$1.run(ServerRpcProvider.java:276) at org.waveprotocol.box.server.rpc.ServerRpcProvider$Connection$1.run(ServerRpcProvider.java:262) at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl$1.run(ServerRpcControllerImpl.java:191) at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl$1.run(ServerRpcControllerImpl.java:166) at org.waveprotocol.box.server.frontend.WaveClientRpcImpl$1.onUpdate(WaveClientRpcImpl.java:141) at org.waveprotocol.box.server.frontend.WaveViewSubscription.sendUpdate(WaveViewSubscription.java:191) at org.waveprotocol.box.server.frontend.WaveViewSubscription.onUpdate(WaveViewSubscription.java:149) at org.waveprotocol.box.server.frontend.UserManager.onUpdate(UserManager.java:76) at org.waveprotocol.box.server.frontend.ClientFrontendImpl.participantUpdate(ClientFrontendImpl.java:235) at org.waveprotocol.box.server.frontend.ClientFrontendImpl.waveletUpdate(ClientFrontendImpl.java:280) at org.waveprotocol.box.server.waveserver.WaveletNotificationDispatcher.waveletUpdate(WaveletNotificationDispatcher.java:125) at org.waveprotocol.box.server.waveserver.WaveletContainerImpl.notifyOfDeltas(WaveletContainerImpl.java:181) at org.waveprotocol.box.server.waveserver.LocalWaveletContainerImpl.submitRequest(LocalWaveletContainerImpl.java:107) at org.waveprotocol.box.server.waveserver.WaveServerImpl.submitDelta(WaveServerImpl.java:542) at org.waveprotocol.box.server.waveserver.WaveServerImpl.submitRequest(WaveServerImpl.java:344) at org.waveprotocol.box.server.frontend.ClientFrontendImpl.submitRequest(ClientFrontendImpl.java:194) at org.waveprotocol.box.server.frontend.WaveClientRpcImpl.submit(WaveClientRpcImpl.java:164) at org.waveprotocol.box.common.comms.WaveClientRpc$ProtocolWaveClientRpc$1.submit(WaveClientRpc.java:4459) at org.waveprotocol.box.common.comms.WaveClientRpc$ProtocolWaveClientRpc.callMethod(WaveClientRpc.java:4589) at org.waveprotocol.box.server.rpc.ServerRpcControllerImpl.run(ServerRpcControllerImpl.java:200) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) at java.lang.Thread.run(Thread.java:679) Caused by: org.eclipse.jetty.io.EofException at org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:939) at org.eclipse.jetty.server.AbstractHttpConnection.flushResponse(AbstractHttpConnection.java:618) at org.eclipse.jetty.server.Response.flushBuffer(Response.java:1025) at com.glines.socketio.server.transport.XHRMultipartDataHandler.onWriteData(XHRMultipartDataHandler.java:94) at com.glines.socketio.server.transport.jetty.ConnectionTimeoutPreventerDataHandler.onWriteData(ConnectionTimeoutPreventerDataHandler.java:77) at com.glines.socketio.server.transport.jetty.JettyContinuationTransportHandler.sendMessage(JettyContinuationTransportHandler.java:158) ... 28 more Caused by: java.io.IOException: Broken pipe ----------------------------------------------------------- > Not saving editions when concurrent editions in same wave > --------------------------------------------------------- > > Key: WAVE-312 > URL: https://issues.apache.org/jira/browse/WAVE-312 > Project: Wave > Issue Type: Bug > Components: Web Client > Environment: Tried in http://waveinabox.net and http://kune.cc > Reporter: Samer > Labels: bug, concurrency, edit,, editor,, persistence > Attachments: fixWave-312.patch, raw-nullpointer.log.xz > > > - Alice: begins editing a blip of a wave. She needs to write a long paragraph. > - Bob: begins editing a while after Alice, in another blip in the same wave. > - Alice doesn't see that Bob is writing, nothing new appears > - Alice finishes editing her wave and moves to another wave. > - Bobs finishes editing that wave and moves to another wave. > - When Alice comes back to the same wave, she sees her edition was not fully > saved. It saved only until the instant that Bob began editing. > - When Bob comes back to the wave, he sees nothing of what he wrote was saved. > Sometimes it shows the mysterious delta error from: > http://www.mail-archive.com/wave-dev@incubator.apache.org/msg02036.html > https://issues.apache.org/jira/browse/WAVE-307 > but other times it shows nothing on the log, so don't know if it's directly > related or just chance. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira