[Seaside] VM freezes; how to find the cause?
Chris
cpmbailey at btinternet.com
Sun May 26 12:10:59 UTC 2013
#initalizeMenuComponent and #initializeListComponent are not returning
anything (and will therefore return self, the StRootComponent) This
means you will have an infinite loop as StRootComponent contains itself
One way to fix it would be to change your initialize method as follows
as you are already setting the menuComponent and listComponent variables
in their own initialize methods:
StRootComponent >>#initialize
super initialize.
self
initializeMenuComponent;
initializeListComponent.
> Apparently `initialize' is done correctly because when I put `self
> halt.' at the bottom of `initialize' the VM actually halts there. But
> after pushing the "proceed" button, it freezes again.
>
> <code>
>
> StRootComponent >>#initialize
> super initialize.
> self
> menuComponent: self initializeMenuComponent;
> listComponent: self initializeListComponent.
>
>
> StRootComponent >>#initializeListComponent
> self listComponent: StListComponent new.
> self listComponent
> sortBlock: [ :items | items sortBy: [ :a :b | a deadline < b
> deadline ] ];
> renderItemBlock: [ :task :html | self renderTask: task asRowOn:
> html ].
> self showPendingTasks.
> self listComponent items: self testTasks.
>
>
> StRootComponent >>#initializeMenuComponent
> self
> menuComponent:
> (StMenuComponent new
> addEntry: 'All' withAction: [ self showAllTasks ];
> addEntry: 'Completed' withAction: [ self
> showCompletedTasks ];
> addEntry: 'Pending' withAction: [ self showPendingTasks ];
> addEntry: 'Missed' withAction: [ self showMissedTasks ];
> yourself)
>
>
> StRootComponent >>#testTasks
> ^ OrderedCollection
> with:
> (StTask new
> deadline: Date yesterday;
> completed: false;
> taskName: 'Missed task')
> with:
> (StTask new
> deadline: Date tomorrow;
> completed: false;
> taskName: 'Pending task')
> with:
> (StTask new
> deadline: Date tomorrow;
> completed: true;
> taskName: 'Already completed task')
> </code>
>
> TIA,
>
> --
> Bahman Movaqar (http://BahmanM.com)
> ERP Evaluation, Implementation, Deployment Consultant
>
> On 2013-05-26 15:04, Johan Brichau wrote:
>> On 26 May 2013, at 12:30, Bahman Movaqar <Bahman at BahmanM.com> wrote:
>>
>>> As I said, I'm using Pharo (2.0).
>> sorry, missed that part.
>>
>>> This means that something is going wrong in the `initialize' method, right?
>> Possibly. What is the code of your initialize method?
>> The most common cause would be an infinite loop by doing a 'self initialize' instead of a super initialize inside your initialize method.
>>
>> Johan_______________________________________________
>> seaside mailing list
>> seaside at lists.squeakfoundation.org
>> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>>
> _______________________________________________
> seaside mailing list
> seaside at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
>
More information about the seaside
mailing list