Squeak crashes on SuSE Linux 7.3

John M McIntosh johnmci at smalltalkconsulting.com
Wed Sep 17 19:25:18 UTC 2003


Ah, yes this is the bug I had reported earlier in the year (Mon Jun 9,  
2003). The problem is that if you get a socket
created before the network is initialized, thus the socket is invalid.  
If  finalization gets to run then on finalization the close
logic attempts to use the invalid private socket information and you  
core dump.

Ian dropped the fix in, a check to see if the sessionid is non-zero, on  
sourceforge somewhere in the
past few months/years? Not sure if it was in 3.4? You need to confirm  
if the source you are using reads
sqUnixSocket.c
/* answer whether the given socket is valid in this net session */

static int socketValid(SocketPtr s)
{
   if (s && s->privateSocketPtr && thisNetSession && (s->sessionID ==  
thisNetSession))
     return true;
   interpreterProxy->success(false);
   return false;
}

Although this bug was also in the earlier macintosh VMs that used  
OpenTransport never had
an issue because the call that used the bad value would fail when we  
when to OpenTransport
with the bad information, versus core dumping. Can't speak for  
windows...

On Wednesday, September 17, 2003, at 09:01  AM, German Fabregat wrote:

> Dear all,
>
> 	I am just new to this list as I am new to Squeak. I have previously
> used VisualWorks, and now I try to learn how to work with Squeak.
>
> 	I have choosen to start exploring Squeak's user interface the book
> "Squeak Object-Oriented design with Multimedia Applications" by Mark
> Guzdial -donated by ESUG to my
> University- and working through the examples of the book, I have found
> my Squeak awfully crashing. In particular, when editing a Morph -an
> ellipse- and adding a new instance variable
> through the Viewer, I get a Segmentation fault with the following list
> of errors:
>
> german at mermaja:~/ST80/Squeak>
> Segmentation fault
>
> 1089835124 Socket>finalize
> 1089835528 [] in WeakRegistry>finalizeValues
> 1089834968 OrderedCollection>do:
> 1089833496 WeakRegistry>finalizeValues
> 1089833312 [] in WeakArray class>doesNotUnderstand:
> 1089833404 SequenceableCollection>do:
> 1089832760 [] in WeakArray class>doesNotUnderstand:
> 1089832944 [] in Semaphore>critical:ifError:
> 1089832668 BlockContext>on:do:
> 1089832576 BlockContext>ifError:
> 1089832456 Semaphore>critical:ifError:
> 1079587744 WeakArray class>doesNotUnderstand:
> 1079587440 [] in UndefinedObject>doesNotUnderstand:
> 1079587624 [] in BlockContext>doesNotUnderstand:
>
> I use the last stable version of Squeak (3.4-1) that I have compiled
> from the sources.
>
> Any hint about what is happening?
>
> Thank you all for your help.
>
> Regards,
> Germán Fabregat
> University Jaume I
> Castellón
> SPAIN
>
>
>
--
======================================================================== 
===
John M. McIntosh <johnmci at smalltalkconsulting.com> 1-800-477-2659
Corporate Smalltalk Consulting Ltd.  http://www.smalltalkconsulting.com
======================================================================== 
===



More information about the Squeak-dev mailing list