Ticket #1537 (closed bug: fixed)

Opened 12 years ago

Last modified 11 years ago

Continuations fail to revert all registers to the correct state

Reported by: arnsholt Owned by:
Priority: normal Milestone:
Component: none Version: trunk
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

When the attached code is run, it outputs "foo\nfoo\n". The second foo should, in my opinion not be there. When the continuation to backtrack in choose() is created, val has not yet been assigned a value, and since choose() doesn't return a value on the backtrack (an intentional bug, to expose this behaviour) it should be in the same uninitialised state it was when the continuation was created.

See also discussion on #parrot:  http://irclog.perlgeek.de/parrot/2010-03-30#i_2173883 and onwards (continues across in the next day's logs).

Attachments

test.pir Download (0.8 KB) - added by arnsholt 12 years ago.

Change History

Changed 12 years ago by arnsholt

Changed 12 years ago by bacek

At r45769 parrot show

foo
bar
Done.

Is it expected output?

-- Bacek

Changed 11 years ago by bacek

  • status changed from new to closed
  • resolution set to fixed

No response in 4 month. I'm going to declare current behaviour as correct and expected. Closing ticket.

Note: See TracTickets for help on using tickets.