For various reasons I’m using the CVS latest version of Ruby…
Now I have 3500 lines of very very threaded (about 100 threads) ruby
doing lots and lots of socket I/O to strange exotic hardware.
Ruby itself sometimes crashes (not in the same place).
So I haven’t been able to produce a small test set. I can’t send Matz all
the weird hardware, so I’m on my own here…
Any Ruby specific suggestions for hunting this type of bug?
I’m on RedHat Linux 8.0 on a Pentium 4 using gcc 3.2.2
John Carter Phone : (64)(3) 358 6639
Tait Electronics Fax : (64)(3) 359 4632
PO Box 1645 Christchurch Email : john.carter@tait.co.nz
New Zealand
John’s law :-
All advances in computing have arisen through the creation of an
additional level of indirection, the trick is to work out which
indirection is actually useful.
For various reasons I’m using the CVS latest version of Ruby…
Now I have 3500 lines of very very threaded (about 100 threads) ruby
doing lots and lots of socket I/O to strange exotic hardware.
Ruby itself sometimes crashes (not in the same place).
So I haven’t been able to produce a small test set. I can’t send Matz all
the weird hardware, so I’m on my own here…
Does the bug look like the phantom one I found?
http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/66166
Something like
./dict.rb:316: [BUG] gc_sweep(): unknown data type 28
Any Ruby specific suggestions for hunting this type of bug?
I’m on RedHat Linux 8.0 on a Pentium 4 using gcc 3.2.2
It could be GCC’s fault. I was doing something heavily threaded too
(from 20 to 150+ threads) which opened lots of connections to a dictd
server and found that the problem would only happen when compiling with
gcc 3.2, and moreover only when targeting i386, but not sure on this
one, have forgotten 
···
On Thu, Mar 27, 2003 at 02:29:58PM +0900, John Carter wrote:
–
_ _
__ __ | | ___ _ __ ___ __ _ _ __
'_ \ / | __/ __| '_
_ \ / ` | ’ \
) | (| | |__ \ | | | | | (| | | | |
.__/ _,|_|/| || ||_,|| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com
- Jes wonders why so many people in here uses fooZZZZZ and foo_sleeping nicks
Jes: Because they are sleeping?
– Seen on #Linux
To reduce the likelihood of it being GCC’s fault, compile ruby and any
extensions with no flags higher than -O
To see what your ruby was compiled with:
$ ruby -r rbconfig -e “puts Config::CONFIG[‘CFLAGS’]”
FWIW, FreeBSD has problems with -march=pentium4 …
···
Mauricio Fern?ndez (batsman.geo@yahoo.com) wrote:
On Thu, Mar 27, 2003 at 02:29:58PM +0900, John Carter wrote:
Any Ruby specific suggestions for hunting this type of bug?
I’m on RedHat Linux 8.0 on a Pentium 4 using gcc 3.2.2
It could be GCC’s fault. I was doing something heavily threaded too
(from 20 to 150+ threads) which opened lots of connections to a dictd
server and found that the problem would only happen when compiling with
gcc 3.2, and moreover only when targeting i386, but not sure on this
one, have forgotten 
–
Eric Hodel - drbrain@segment7.net - http://segment7.net
All messages signed with fingerprint:
FEC2 57F1 D465 EB15 5D6E 7C11 332A 551C 796C 9F04
This is what I found in my case…
The BUG first happened w/ Debian’s 1.6.8-3 binary, shortly after they
began building with GCC 3.2 (w/ -O2 AFAIK). It didn’t show up when
compiled with gcc 2.95.4. Moreover, the last CVS snapshot I got ran OK
until I compiled it w/ gcc 3.2 and then I got the BUG again.
···
On Fri, Mar 28, 2003 at 04:14:09AM +0900, Eric Hodel wrote:
Mauricio Fern?ndez (batsman.geo@yahoo.com) wrote:
On Thu, Mar 27, 2003 at 02:29:58PM +0900, John Carter wrote:
Any Ruby specific suggestions for hunting this type of bug?
I’m on RedHat Linux 8.0 on a Pentium 4 using gcc 3.2.2
It could be GCC’s fault. I was doing something heavily threaded too
(from 20 to 150+ threads) which opened lots of connections to a dictd
server and found that the problem would only happen when compiling with
gcc 3.2, and moreover only when targeting i386, but not sure on this
one, have forgotten 
To reduce the likelihood of it being GCC’s fault, compile ruby and any
extensions with no flags higher than -O
To see what your ruby was compiled with:
$ ruby -r rbconfig -e “puts Config::CONFIG[‘CFLAGS’]”
FWIW, FreeBSD has problems with -march=pentium4 …
–
_ _
__ __ | | ___ _ __ ___ __ _ _ __
'_ \ / | __/ __| '_
_ \ / ` | ’ \
) | (| | |__ \ | | | | | (| | | | |
.__/ _,|_|/| || ||_,|| |_|
Running Debian GNU/Linux Sid (unstable)
batsman dot geo at yahoo dot com
“Who is General Failure and why is he reading my hard disk?”
Microsoft spel chekar vor sail, worgs grate !!
– Felix von Leitner, leitner@inf.fu-berlin.de