On 10/30/07, John Mettraux <[EMAIL PROTECTED]> wrote:
> On 10/30/07, Maarten <[EMAIL PROTECTED]> wrote:
> >
> > Accidentally I spent most of today tracing "stack level to deep"
> > errors in my application. The log showed that the overflow occurred
> > when workitem#dup was called by the engine. Finally I discovered the
> > cause of the problem.
> >
> > The result of the block used by a BlockParticipant is stored as
> > attribute in the workitem. If the result of the last expression in the
> > block is a workitem, then a workitem is stored in a workitem. Since
> > the workitem#dup (via OpenWFE.fulldup) makes use of recursion, this
> > results in a stack overflow.
> >
> > Maybe openwferu should protect itself against users which return a
> > workitem from a block. To reproduce the problem, one only needs to use
> > the following participant:
> >
> > engine.register_participant("crash_me") do |workitem|
> >     puts "one last message..."
> >     workitem
> > end

Hi Marteen,

I'm trying to reproduce the problem :
http://openwferu.rubyforge.org/svn/trunk/openwfe-ruby/test/ft_74_block_and_workitem_dup.rb

But I have not been very successful so far. How should I modify this
test to make the recursion happen ?


Thanks in advance,

-- 
John Mettraux   -///-   http://jmettraux.openwfe.org

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"OpenWFEru users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/openwferu-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to