Found the bug, it's pretty simple null check. To help spread the knowledge, I've created a simple starter project at http://code.google.com/p/wave-protocol/issues/detail?id=167. Anyone keep to get in to the client code can take is a good intro.
On Thu, Nov 25, 2010 at 8:00 AM, Tad Glines <[email protected]> wrote: > Here the sequence of actions with the two "shiny" stack traces. I've also > attached the debug logs for both. > Note that user 1 is using Chrome 7.0.5 and user 2 is using Safari 5.0.3. > The user1 log appears to be the post-refresh log. The user2 log has > everything in it. > > 1. User1 creates wave, types "test" in blip. > 2. User1 adds user 2 as participant. > 3. User 2 clicks on the "Click here to reply" area > 4. User 2 types Hello in blip. > 5. User 1 gets the following "shiny" > > (TypeError): Cannot read property 'document_0' of undefined > stack: TypeError: Cannot read property 'document_0' of undefined > at $flush_6 ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:15490:102 > ) > at $flush ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:7322:105 > ) > at Object.flush_1 ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:7352:16 > ) > at $receiveLoop ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:93239:121 > ) > at Object.onOperationReceived_0 [as onOperationReceived] ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:93288:150 > ) > at $signalOperationReceived ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:88151:193 > ) > at Object.onOperationReceived ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:88469:3 > ) > at $onOperationReceived ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:90930:201 > ) > at $onServerDeltas ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:90956:110 > ) > at $onServerDelta ( > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html:90938:97 > ) > type: non_object_property_load > arguments: document_0, > Unknown.$collect (JsArrayString.java:42) > Unknown.fillInStackTrace_2 (StackTraceCreator.java:146) > Unknown.fillInStackTrace_0 (StackTraceCreator.java:386) > Unknown.fillInStackTrace (Throwable.java:72) > Unknown.$$init_16 (Throwable.java:46) > Unknown.Throwable_0 (Throwable.java:49) > Unknown.Exception_0 (Exception.java:25) > Unknown.RuntimeException_0 (RuntimeException.java:25) > Unknown.JavaScriptException_0 (JavaScriptException.java:127) > Unknown.caught_0 (Exceptions.java:29) > Unknown.$flush_6 (ContentDocumentSink.java:157) > Unknown.$flush (StaticChannelBinder.java:80) > Unknown.flush_1 (StaticChannelBinder.java:78) > Unknown.$receiveLoop (OperationSucker.java:117) > Unknown.onOperationReceived_0 (OperationSucker.java:85) > Unknown.$signalOperationReceived (OperationChannelImpl.java:285) > Unknown.onOperationReceived (OperationChannelImpl.java:118) > Unknown.$onOperationReceived (ConcurrencyControl.java:677) > Unknown.$onServerDeltas (ConcurrencyControl.java:589) > Unknown.$onServerDelta (ConcurrencyControl.java:570) > Unknown.onDelta (OperationChannelImpl.java:162) > Unknown.deliverTo_2 (WaveletDeltaChannelImpl.java:112) > Unknown.$flushServerMessages (WaveletDeltaChannelImpl.java:485) > Unknown.$processUpdateMessage (WaveletDeltaChannelImpl.java:411) > Unknown.onWaveletUpdate_2 (WaveletDeltaChannelImpl.java:296) > Unknown.$onWaveletUpdate (OperationChannelMultiplexerImpl.java:176) > Unknown.onUpdate_5 (OperationChannelMultiplexerImpl.java:506) > Unknown.onUpdate_6 (ViewChannelImpl.java:329) > Unknown.onWaveletUpdate_0 (RemoteWaveViewService.java:306) > Unknown.onWaveletUpdate (RemoteViewServiceMultiplexer.java:107) > Unknown.onMessage_3 (WaveWebSocketClient.java:144) > Unknown.onMessage_1 (WaveSocketFactory.java:65) > Unknown.onMessage (GWTSocketIOConnectionImpl.java:120) > Unknown.anonymous (GWTSocketIOConnectionImpl.java:17) > Unknown.apply (Impl.java:168) > Unknown.entry0 (Impl.java:214) > Unknown.anonymous (Impl.java:57) > > 6. User 1 click the "refresh" link in the "shiny". > 7. User 1 clicks the "Click here to reply" bar. > 8. User 2 gets the following "shiny". > > (TypeError): Result of expression '($location_0[stackIndex] = > 'ContentDocumentSink.java:' + '157' , this$static)' [undefined] is not an > object. > line: 15490 > sourceId: 4867586280 > sourceURL: > http://www.glines.com:9898/webclient/91A9339C73C1FD33A6449AE3339A5B6A.cache.html > expressionBeginOffset: 768566 > expressionCaretOffset: 768643 > expressionEndOffset: 768654 > Unknown.$collect (JsArrayString.java:42) > Unknown.fillInStackTrace_2 (StackTraceCreator.java:146) > Unknown.fillInStackTrace_0 (StackTraceCreator.java:386) > Unknown.fillInStackTrace (Throwable.java:72) > Unknown.$$init_16 (Throwable.java:46) > Unknown.Throwable_0 (Throwable.java:49) > Unknown.Exception_0 (Exception.java:25) > Unknown.RuntimeException_0 (RuntimeException.java:25) > Unknown.JavaScriptException_0 (JavaScriptException.java:127) > Unknown.caught_0 (Exceptions.java:29) > Unknown.$flush_6 (ContentDocumentSink.java:157) > Unknown.$flush (StaticChannelBinder.java:80) > Unknown.flush_1 (StaticChannelBinder.java:78) > Unknown.$receiveLoop (OperationSucker.java:117) > Unknown.onOperationReceived_0 (OperationSucker.java:85) > Unknown.$signalOperationReceived (OperationChannelImpl.java:285) > Unknown.onOperationReceived (OperationChannelImpl.java:118) > Unknown.$onOperationReceived (ConcurrencyControl.java:677) > Unknown.$onServerDeltas (ConcurrencyControl.java:589) > Unknown.$onServerDelta (ConcurrencyControl.java:570) > Unknown.onDelta (OperationChannelImpl.java:162) > Unknown.deliverTo_2 (WaveletDeltaChannelImpl.java:112) > Unknown.$flushServerMessages (WaveletDeltaChannelImpl.java:485) > Unknown.$processUpdateMessage (WaveletDeltaChannelImpl.java:411) > Unknown.onWaveletUpdate_2 (WaveletDeltaChannelImpl.java:296) > Unknown.$onWaveletUpdate (OperationChannelMultiplexerImpl.java:176) > Unknown.onUpdate_5 (OperationChannelMultiplexerImpl.java:506) > Unknown.onUpdate_6 (ViewChannelImpl.java:329) > Unknown.onWaveletUpdate_0 (RemoteWaveViewService.java:306) > Unknown.onWaveletUpdate (RemoteViewServiceMultiplexer.java:107) > Unknown.onMessage_3 (WaveWebSocketClient.java:144) > Unknown.onMessage_1 (WaveSocketFactory.java:65) > Unknown.onMessage (GWTSocketIOConnectionImpl.java:120) > Unknown.anonymous (GWTSocketIOConnectionImpl.java:17) > Unknown.apply (Impl.java:168) > Unknown.entry0 (Impl.java:214) > Unknown.anonymous (Impl.java:57) > > -Tad > > On Wed, Nov 24, 2010 at 11:38 AM, Alex North <[email protected]> wrote: > >> I think I've seen this before too. Can you reproduce it with a debug >> client build so the stack trace makes a bit more sense? >> >> A. >> >> On 24 November 2010 18:47, Tad Glines <[email protected]> wrote: >> >>> I'm encountering a "shiny" when working with a wave with two >>> participants. >>> >>> 1. Create a wave (user1), type some text in the blip then add user2. >>> 2. When the wave appears in user2's inbox, open and create reply. >>> >>> 3. This "shiny" appears in user1's window. >>> >>> (TypeError): Result of expression 'cNd(this.b.b,this.d,b.b)' [undefined] >>> is not an object. line: 161 sourceId: 4867844608 sourceURL: >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.htmlexpressionBeginOffset: >>> 21147 expressionCaretOffset: 21171 >>> expressionEndOffset: 21173 >>> >>> 4. Refresh user1's window and and send a reply and this "shiny" appears >>> in user2's window. >>> >>> (TypeError): Cannot read property 'e' of undefined stack: TypeError: >>> Cannot read property 'e' of undefined at Object.YFc [as Nf] ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:161:9366) >>> at CBe ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:4790:77) >>> at BBe ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:1722:22) >>> at Rqe ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:1880:24) >>> at Xve ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:3273:45) >>> at Yve ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:4712:141) >>> at Lqe ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:5261:80) >>> at Object.uve [as ik] ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:5472:1783) >>> at tue ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:4878:168) >>> at Eue ( >>> http://demo.wave-in-a-box.org/webclient/5E6C106005DE89362267D9338C52FFBA.cache.html:4442:118) >>> type: non_object_property_load arguments: e, Unknown.YFc (Unknown source:0) >>> Unknown.CBe (Unknown source:0) Unknown.BBe (Unknown source:0) Unknown.Rqe >>> (Unknown source:0) Unknown.Xve (Unknown source:0) Unknown.Yve (Unknown >>> source:0) Unknown.Lqe (Unknown source:0) Unknown.uve (Unknown source:0) >>> Unknown.tue (Unknown source:0) Unknown.Eue (Unknown source:0) >>> >>> -Tad >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Wave Protocol" group. >>> To post to this group, send email to [email protected]. >>> To unsubscribe from this group, send email to >>> [email protected]<wave-protocol%[email protected]> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/wave-protocol?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Wave Protocol" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]<wave-protocol%[email protected]> >> . >> For more options, visit this group at >> http://groups.google.com/group/wave-protocol?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Wave Protocol" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]<wave-protocol%[email protected]> > . > For more options, visit this group at > http://groups.google.com/group/wave-protocol?hl=en. > -- David Wang -- You received this message because you are subscribed to the Google Groups "Wave Protocol" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/wave-protocol?hl=en.
