[#18440] racc segv revisited — "Akinori MUSHA" <knu@...>

 次のバグの件なんですが、現時点では原因究明を含めて未解決という

24 messages 2002/10/02
[#18617] Re: racc segv revisited — "Akinori MUSHA" <knu@...> 2002/11/02

At Wed, 2 Oct 2002 23:19:59 +0900,

[ruby-dev:18422] Re: rubicon on EWS4800

From: WATANABE Tetsuya <tetsu@...>
Date: 2002-10-01 02:15:08 UTC
List: ruby-dev #18422
渡辺哲也です。

なかださんパッチの場合、動作としてまだ解消しきれ
ていない部分があるようです。

長いメールですが、確認よろしくお願いします。

In message "[ruby-dev:18421] Re: rubicon on EWS4800"
    on 02/10/01, WATANABE Tetsuya さん writes:

|実行結果もちょっとまずいところがあるようです。


確認に使用したスクリプト
------------------------------------------------------------
#! /usr/local/bin/ruby
# /home/tetsu/src/ruby/ck/seek/ck4.rb
# Created: May 23,2002 Thursday 15:10:04
# Author: tetsu(WATANABE Tetsuya)
# $Id$
# usage:

file = 'sample.txt'

str = '0123456789' * 5

w = File.open(file, 'w+')

10.times do
  w.puts str
  str.concat(str[0])
  str[0, 1] = ''
end

w.rewind

while w.gets
  print
end

puts '--------------------0'
w.rewind

while w.gets
  if ~/^4/
    w.pos -= $_.size
    w.print 'X'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------1'
w.rewind

while w.gets
  if ~/^X/
    w.print 'Y'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------2'
w.rewind

while c = w.getc
  if c == 0xa
  else
#    w.pos += 0
    w.print '.'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------3'
w.rewind

while c = w.getc
  if c == 0xa
  else
#    w.pos += 0
    w.print '+'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------4'
w.rewind

while c = w.getc
  if c == 0xa
  else
    w.pos -= 1
    w.print '-'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------5'
w.rewind

while c = w.getc
  if c == 0xa
  else
    w.pos -= 1
    w.print 'jj'
  end
end

w.rewind

while w.gets
  print
end

puts '--------------------6'
w.close
------------------------------------------------------------

期待した実行結果(Linux や HP-UX 上での渡辺パッチの結果)
------------------------------------------------------------
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
45678901234567890123456789012345678901234567890123
56789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------0
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
56789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------1
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
Y6789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------2
0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.
1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.
2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.
3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.
X.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.
Y.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.
6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.
7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.
8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.8.0.2.4.6.
9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.9.1.3.5.7.
--------------------3
0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+
1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+
2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+
3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+
X+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+
Y+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+
6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+
7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+
8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+8+0+2+4+6+
9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+9+1+3+5+7+
--------------------4
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------5
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
--------------------6
------------------------------------------------------------

なかださんパッチ実施の実行結果
------------------------------------------------------------
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
45678901234567890123456789012345678901234567890123
56789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------0
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
56789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------1
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
Y6789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
--------------------2
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
Y6789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
0.--------------------3
01234567890123456789012345678901234567890123456789
12345678901234567890123456789012345678901234567890
23456789012345678901234567890123456789012345678901
34567890123456789012345678901234567890123456789012
X5678901234567890123456789012345678901234567890123
Y6789012345678901234567890123456789012345678901234
67890123456789012345678901234567890123456789012345
78901234567890123456789012345678901234567890123456
89012345678901234567890123456789012345678901234567
90123456789012345678901234567890123456789012345678
0.0+--------------------4
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
--------------------------------------------------
------------------------5
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjj
jjjj--------------------6
------------------------------------------------------------

In This Thread