GRVASTPlatform class>>#shutDown throws an exception

41 views
Skip to first unread message

Marten Feldtmann

unread,
Sep 24, 2011, 4:05:02 PM9/24/11
to va-sma...@googlegroups.com
While playing with the 8.5 I have now for the second time the problem, that the method above throws an exception, when I want to leave/save the image.

In this method "ShutDownList" is nil (!).


Marten Feldtmann

unread,
Sep 25, 2011, 12:11:51 PM9/25/11
to va-sma...@googlegroups.com
ShutDownList is only initialized in GRVASTPlatform>>addToShutDownList:, but I have not found any senders in my image of this method.

Marten

Gabriel Cotelli

unread,
Sep 26, 2011, 1:54:07 PM9/26/11
to va-sma...@googlegroups.com
Hi Marten,
Sounds like a bug to me. I've changed GRVASTPlatform>>#shutDown and GRVASTPlatform>>#startUp to the following to solve it:


GRVASTPlatform>>#shutDown 
ShutDownList ifNotNil: [:list | list do: [:ea | ea shutDown]]

GRVASTPlatform>>#startUp

StartUpList ifNotNil: [:list | list do: [:ea | ea startUp]].

I don't have any sender but once loaded "Platform Portabiltiy" configuration map the image can't be saved without this changes.

Regards,
Gabriel

Thomas Koschate

unread,
Sep 26, 2011, 2:26:26 PM9/26/11
to va-sma...@googlegroups.com
Marten, WAServerManager class>>initialize is sending #addToShutDownList: in my image in the application SeasideCoreServer.  One more app to make sure is in your package?

Tom

Marten Feldtmann

unread,
Sep 26, 2011, 2:58:45 PM9/26/11
to va-sma...@googlegroups.com
Hello Thomas,

what about using the portability layer stuff without any Seaside code (e.g. Announcement did this) ????

John O'Keefe

unread,
Sep 26, 2011, 3:28:02 PM9/26/11
to va-sma...@googlegroups.com
Marten -
 
In a Seaside development image you should see 1 sender (WAServerManager); in a Seaside development image with tests loaded, you should see a 2ndd sender (GRPlatformTest).
 
That being said, it would make thing more resilient to implement Gabriel's suggestion (thanks Gabriel).
 
John
Message has been deleted

Thomas Koschate

unread,
Sep 26, 2011, 3:33:45 PM9/26/11
to va-sma...@googlegroups.com
Marten, personally, I'd never have implemented the class like this.  I would have created accessors for for ShutDownList and StartUpList, and either built lazy initializers, or, more likely, set their values in the class #initialize method.  You could still set the values in #initialize without modifying any additional code.

Tom

John O'Keefe

unread,
Sep 26, 2011, 4:11:32 PM9/26/11
to va-sma...@googlegroups.com
Thomas -
 
That is actually how I fixed it in case 48770.  This was ancient code written in the early days of Seaside 3.0 support without a lot of thought to use of the portaility code outside Seaside (which is probably obvious since it has held up until now).
 
John 
Reply all
Reply to author
Forward
0 new messages