[Seaside] problem restarting servers when VM comes up

Nevin Pratt nevin@smalltalkpro.com
Thu, 25 Apr 2002 23:26:39 -0600


I also observed the problem you mention for 3.2g.  I found that I could 
usually manually unregister it from Comanche, then re-register it, and 
go.  But not always.

In any case, when I encountered it, I shrugged it off simply because I 
have a long history of seeing similar problems with images that are 
saved while connected to databases of various sorts.  And it's not just 
Squeak.  I've seen it with GemStone and VisualWorks, too-- where I save 
an image while logged into GemStone, and then when I relaunch the image, 
I discover the image is hosed.

With GemStone, it depended on which GemBuilder release I used.  For most 
of them, it seemed like GemStone's "official" fix was to autologout (via 
#snapshot:andQuit:, or whatever VW's equivalent is-- I've forgotten). 
 Thus, the GemBuilder code would force  a logout before saving the image.

I used to work on the KnowledgeScape project (http://www.kscape.com), 
and from time to time we hooked in a bunch of things to autohappen just 
before the image was saved, for similar reasons.  Not sure if the 
current version of the product does any of that, though.

In other words, I was not at all surprised to see this behavior with 
Comanche, and just shrugged it off, vowing to someday put in the 
"autoshutdown on image save" hook to solve it.  But for now I just make 
sure the server is not running when I save the image.  And if I forget, 
then I rebuild the image :-)

"Autohappen" shutdown code is often tricky.  Not because it is hard, but 
because it must be exactly right or you hang things.  So I don't 
particularly like doing "autohappen" shutdown things.  But, sometimes it 
seems necessary.

Nevin


Jake Donham wrote:

>Hi,
>
>Using Seaside 0.92 with Squeak 3.0 and Comanche 4.10 on a Redhat Linux 
>6.2 system, if you save and quit while a server is up, the VM crashes:
>
>Segmentation fault
>
>1085305112 SystemDictionary>snapshot:andQuit:embedded:
>1085305020 SystemDictionary>snapshot:andQuit:
>1085304744 TheWorldMenu>saveAndQuit
>1085304836 [] in TheWorldMenu>doMenuItem:with:
>1085304652 BlockContext>on:do:
>1085304008 TheWorldMenu>doMenuItem:with:
>1085303640 [] in MenuItemMorph>invokeWithEvent:
>1085303916 BlockContext>on:do:
>1085304376 [] in BlockContext>valueUninterruptably
>1085303824 BlockContext>on:do:
>1085304192 [] in BlockContext>valueUninterruptably
>1085303732 BlockContext>on:do:
>1085303548 BlockContext>valueUninterruptably
>1085303456 BlockContext>ensure:
>1085303364 Cursor>showWhile:
>1085303140 MenuItemMorph>invokeWithEvent:
>
>I tried Squeak 3.2 gamma, and while it doesn't crash on exit, when I
>restart it, the server is not running. However, as far as I can tell
>from poking around in ComancheServer, it is still registered in
>Comanche's list of active servers, so if you try to start it or set it
>to auto-start, Comanche complains that there's already a server on
>that port.
>
>This seems like a Comanche problem rather than a Seaside problem but I
>though I might find a friendly ear on this list. If there's somewhere
>else I should ask please let me know.
>
>Thanks,
>
>Jake
>_______________________________________________
>Seaside mailing list
>Seaside@lists.squeakfoundation.org
>http://lists.squeakfoundation.org/listinfo/seaside
>
>