[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

irb: Segmentation fault

Pavel Smerk

8/2/2006 5:27:00 PM

Hello folks,

in the following two cases irb fails (I've removed spaces from the
=~/^irb/ lines to prevent line breaks):

$ irb
irb(main):001:0>"ahoj".split(//).join('|')
=> "a|h|o|j"
irb(main):002:0>"ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
SyntaxError: compile error
(irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0>"ahoj".split(/(?!ch)/).join('|')
=> "a|h|o|j"
irb(main):004:0>"achoj".split(/(?!ch)/).join('|')
=> "ac|h|o|j"
irb(main):005:0>"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
=> "a|$|1|_|$|2|o|j"
irb(main):006:0>"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
/usr/lib/ruby/1.8/irb/ruby-lex.rb:979: [BUG] Segmentation fault
ruby 1.8.2 (2005-04-11) [i386-linux]

Neúspi1ni ukoneen (SIGABRT)
$

$ irb
irb(main):001:0>"ahoj".split(//).join('|')
=> "a|h|o|j"
irb(main):002:0>"ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
SyntaxError: compile error
(irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0>"ahoj".split(/(?!ch)/).join('|')
=> "a|h|o|j"
irb(main):004:0>"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
=> "a|$|1|_|$|2|o|j"
irb(main):005:0>"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
=> "a|c_|h|o|j"
/usr/lib/ruby/1.8/irb.rb:265: [BUG] Segmentation fault
ruby 1.8.2 (2005-04-11) [i386-linux]

Neúspi1ni ukoneen (SIGABRT)
$

["Neúspi1ni ukoneen" is perhaps some Czech translation of SIGABRT]

If I repeat it exactly as shown, irb fails. I've tried to skip some
statements, but only the fourth could be skipped to get Segmentation
fault --- and even in this case the error message differed (and return
value was got compared to the first case). Skipping whichever else does
not lead to failure. I haven't tried simplifying of the statements too
much (only a bit, but unsuccessfully with respect to retain the irb
failure).

Please, could someone test it with current version of ruby/irb?

Where should one post such bugreports?

Regards,

P.
1 Answer

Justin Collins

8/2/2006 5:57:00 PM

0

Pavel Smerk wrote:
> Hello folks,
>
> in the following two cases irb fails (I've removed spaces from the
> =~/^irb/ lines to prevent line breaks):
>
> $ irb
> irb(main):001:0>"ahoj".split(//).join('|')
> => "a|h|o|j"
> irb(main):002:0>"ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
> SyntaxError: compile error
> (irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
> from (irb):2
> irb(main):003:0>"ahoj".split(/(?!ch)/).join('|')
> => "a|h|o|j"
> irb(main):004:0>"achoj".split(/(?!ch)/).join('|')
> => "ac|h|o|j"
> irb(main):005:0>"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
>
> => "a|$|1|_|$|2|o|j"
> irb(main):006:0>"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
>
> /usr/lib/ruby/1.8/irb/ruby-lex.rb:979: [BUG] Segmentation fault
> ruby 1.8.2 (2005-04-11) [i386-linux]
>
> Neúspi1ni ukoneen (SIGABRT)
> $
>
Works for me:

$ irb -v
irb 0.9(02/07/03)
$ ruby -v
ruby 1.8.2 (2004-12-25) [i586-linux-gnu]
$ irb
irb(main):001:0> "ahoj".split(//).join('|')
=> "a|h|o|j"
irb(main):002:0> "ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
SyntaxError: compile error
(irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0> "ahoj".split(/(?!ch)/).join('|')
=> "a|h|o|j"
irb(main):004:0> "achoj".split(/(?!ch)/).join('|')
=> "ac|h|o|j"
irb(main):005:0>
"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
=> "a|$|1|_|$|2|o|j"
irb(main):006:0>
"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
=> "a|c_|h|o|j"
irb(main):007:0> quit

> $ irb
> irb(main):001:0>"ahoj".split(//).join('|')
> => "a|h|o|j"
> irb(main):002:0>"ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
> SyntaxError: compile error
> (irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
> from (irb):2
> irb(main):003:0>"ahoj".split(/(?!ch)/).join('|')
> => "a|h|o|j"
> irb(main):004:0>"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
>
> => "a|$|1|_|$|2|o|j"
> irb(main):005:0>"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
>
> => "a|c_|h|o|j"
> /usr/lib/ruby/1.8/irb.rb:265: [BUG] Segmentation fault
> ruby 1.8.2 (2005-04-11) [i386-linux]
>
> Neúspi1ni ukoneen (SIGABRT)
> $
>
Works for me:
$ irb
irb(main):001:0> "ahoj".split(//).join('|')
=> "a|h|o|j"
irb(main):002:0> "ahoj".split(/(?<=(?![Cc][Hh]).)/).join('|')
SyntaxError: compile error
(irb):2: undefined (?...) sequence: /(?<=(?![Cc][Hh]).)/
from (irb):2
irb(main):003:0> "ahoj".split(/(?!ch)/).join('|')
=> "a|h|o|j"
irb(main):004:0>
"achoj".gsub(/([Cc])([Hh])/,'$1_$2').split(/(?!_[Hh])/).join('|')
=> "a|$|1|_|$|2|o|j"
irb(main):005:0>
"achoj".gsub(/([Cc])([Hh])/,'\1_\2').split(/(?!_[Hh])/).join('|')
=> "a|c_|h|o|j"
irb(main):006:0>

> ["Neúspi1ni ukoneen" is perhaps some Czech translation of SIGABRT]
>
> If I repeat it exactly as shown, irb fails. I've tried to skip some
> statements, but only the fourth could be skipped to get Segmentation
> fault --- and even in this case the error message differed (and return
> value was got compared to the first case). Skipping whichever else
> does not lead to failure. I haven't tried simplifying of the
> statements too much (only a bit, but unsuccessfully with respect to
> retain the irb failure).
>
> Please, could someone test it with current version of ruby/irb?
>
> Where should one post such bugreports?
>
> Regards,
>
> P.
>

Maybe you just need a slightly newer version?

-Justin