Mantis - Squeak Packages
Viewing Issue Advanced Details
7415 RemoteFrameBuffer major sometimes 11-21-09 11:10 11-27-09 15:46
bitmonki Linux  
normal 11.0  
Cobalt alpha24 (Squeak 3.9) open  
0007415: RFB Client: 'doesNotUnderstand' exception while entering password when trying to connect to local VNC desktop.
This happens about 4 times out of 5 attempts -- it will connect successfully occasionally.

Actually, this exception is 'handled' (i.e., logged and then execution continues), I only noticed this error via the Transcript, and then inserted a 'self break' in 'RFBClientSocket runSafely:' so I could debug. Regardless, this causes the connection attempt to 'silently' fail, if one doesn't have a Transcript open, one might be completely clueless.

This appears to be Morphic-related. Looking at the stack trace, what seems to be happening is that during RFBCLient>>rfbAuthentication a FIllIntheBlank morph is displayed. This morph has a loop to allow events to happen while the user types the password.

During this loop, HandMorph>>noticeMouseOver events are reported, and eventually 'leftMorphs' is nil:

MouseOverHandler>>noticeMouseOver: aMorph event: anEvent
    "Remember that the mouse is currently over some morph"
    (leftMorphs includes: aMorph)
        ifTrue:[leftMorphs remove: aMorph]
        ifFalse:[enteredMorphs nextPut: aMorph].
    overMorphs nextPut: aMorph.

(To me this makes sense -- the mouse hasn't left a morph. Oh well.)
* Start TightVNC server.
* Start Squeak.
* Start RFB Client from World menu
* Open scrollbar menu
* Click 'connect'
* etc.
 RFB-jrd.25.mcz [^] (154,292 bytes) 11-22-09 07:39

11-21-09 11:32   
P.S. 'enteredMorphs', and more worryingly, 'overMorphs' are also nil. Hooboy.
11-21-09 15:38   
It would be useful if you could prove the version of your image, vm and rfb package and some information about the server you are connecting to.
11-22-09 07:11   
Ooops. Of course.

chris@naia:> ./ -version
3.9-10 #1 Thu Feb 22 11:09:51 CST 2007 gcc 4.1.1
Squeak3.9alpha of 4 July 2005 [latest update: 0007021]
Linux metroid 2.6.18-1.2257.fc5smp #1 SMP Fri Dec 15 16:33:51 EST 2006 i686 i686 i386 GNU/Linux
default plugin location: /usr/local/lib/squeak/3.9-10/*.so

RFB-jrd.25 (may be OpenCobalt-specific? 'jrd' probably John Dougan)
Trancript reports:
server version 3.7
viewer version 3.7
RFB: caught MessageNotUnderstood: UndefinedObject>>includes:

Smalltalk version.(Alt-P)=> 'Croquet1.0beta'

VNC server (running at
tightvnc (i586)
11-27-09 15:46   
It's not an RFB, but a Morphic issue. It has been fixed in Pharo and the Squeak trunk.