#1219 linein() Gives Error or Crashes Interpreter

v4.2.0
closed
None
complete
1
2014-08-17
2013-12-09
Erich
No

The following code either gives an error message or crashes the interpreter. Error/crash happens after an arbitrary number of loops (in the range of a few ten thousand). It crashes for me after approx. 15 seconds. This stripped-down code isn't "stable" in the sense that a small change will make it run forever without error.

rexx -e "call Read; exit; Read: F='DoesntExist'; Open=stream(F,'C','OPEN READ');
do until Line<>''; Line=linein(F); end; return"

The crash message says "Open Object Rexx Interface has stopped working"

Alternatively I've seen this error message (original, not stripped-down code):

       *-* Compiled routine LINEIN
    94 *-*       Line=linein(F)
    59 *-*   call Read
Error 97:  Object method not found
Error 97.1:  Object "NOTREADY" does not understand message "=="

Discussion

  • Rick McGuire

    Rick McGuire - 2013-12-09

    What version are you running this on?

     
  • Rick McGuire

    Rick McGuire - 2013-12-09
    • Group: v4.2.0 --> None
     
  • Rick McGuire

    Rick McGuire - 2013-12-09
    • status: open --> accepted
    • assigned_to: Rick McGuire
    • Pending work items: none --> code
    • Group: None --> v4.2.0
     
  • Rick McGuire

    Rick McGuire - 2013-12-09

    Committed [r9657] for trunk. Will merge after beta builds are complete.

     
  • Erich

    Erich - 2013-12-09

    What version are you running this on?

    Yep, that's what I forgot ..

    Open Object Rexx Version 4.2.0
    Build date: Dec  8 2013
    Addressing Mode: 64
    
     
  • Rick McGuire

    Rick McGuire - 2013-12-09
    • status: accepted --> pending
    • Pending work items: code --> complete
     
  • Rick McGuire

    Rick McGuire - 2013-12-09

    4.2.0 beta commit [r9658]

     

    Related

    Commit: [r9658]

  • Rick McGuire

    Rick McGuire - 2014-04-15
    • status: pending --> closed
     


Anonymous

Cancel  Add attachments