From: "akira yamada / やまだあきら" Date: 1999-10-16T23:20:07+09:00 Subject: [ruby-dev:8035] ruby 1.4.2 sometimes crashes on m68k-linux --Multipart_Sat_Oct_16_23:27:57_1999-1 Content-Type: text/plain; charset=ISO-2022-JP Ruby の Debian パッケージについてバグ報告がきたんですが, Ruby 自体のバグではなかろうか? ということなんで こちらにメールしてみます. 内容としては以下に添付した通りです. 今のところ m68k アーキテクチャについてのみの報告ですね. -- やまだ あきら (akira@arika.org or akira@nurs.or.jp) --Multipart_Sat_Oct_16_23:27:57_1999-1 Content-Type: message/rfc822 Received: via dmail-4.1(9) for +test-mtx; Sat, 16 Oct 1999 22:41:16 +0900 (JST) Return-Path: Delivered-To: akira@arika.org Received: from master.debian.org (master.debian.org [209.41.108.5]) by qp.linux.or.jp (Postfix) with SMTP id 817944581F for ; Sat, 16 Oct 1999 22:41:15 +0900 (JST) Received: (qmail 30153 invoked by uid 1409); 16 Oct 1999 13:33:10 -0000 Delivered-To: akira@debian.org Received: (qmail 30123 invoked by uid 1227); 16 Oct 1999 13:33:09 -0000 Subject: Bug#47559: ruby_1.4.2-3(unstable): crashes on m68k Reply-To: Roman.Hodek@informatik.uni-erlangen.de, 47559@bugs.debian.org Resent-From: Roman Hodek Resent-To: debian-bugs-dist@lists.debian.org Resent-Cc: akira yamada Resent-Date: Sat, 16 Oct 1999 13:33:08 GMT Resent-Message-ID: Resent-Sender: owner@bugs.debian.org X-Debian-PR-Message: report 47559 X-Debian-PR-Package: ruby X-Debian-PR-Keywords: X-Loop: owner@bugs.debian.org Received: via spool by bugs@bugs.debian.org id=B.94008078129947 (code B ref -1); Sat, 16 Oct 1999 13:33:08 GMT Date: Sat, 16 Oct 1999 15:32:56 +0200 (MET DST) Message-Id: <199910161332.PAA01185@faui22d.informatik.uni-erlangen.de> From: Roman Hodek To: submit@bugs.debian.org Package: ruby Version: 1.4.2-3 The current ruby version sometimes crashes on m68k. Concretely, it crashes during the ruby build, when extmak.rb builds the ext/ directory. It debugged it a bit because I suspected a m68k-specific gcc bug, but the facts more point to a generic ruby bug. Ok, some facts: - The crash happens when "miniruby -Xext extmk.rb" gets to the ext/sockets dir. The process receives a SIGILL during load of ext/socket/extconf.rb. - This happens only if extmk.rb compiles the *whole* ext dir. If one just retries ext/socket (i.e., after the crash type "make" again) it works. - I traced the crash a bit with gdb: At the end of ruby.c:load_file() rb_io_close(f) is called. The OpenFile f at this point is damanged, the component 'f' point somewhere into the data segment of libc, not to a FILE structure. This bogus pointer is later passed to fclose(), which crashes. #4 0x800229ee in rb_io_close (io=3222189632) at io.c:935 935 rb_io_fptr_close(fptr); (gdb) p fptr $6 = (OpenFile *) 0x800d1aa0 (gdb) p *fptr $7 = {f = 0xc00d5fac, f2 = 0x800baa28, mode = 1, pid = 0, lineno = 169, path = 0x0, finalize = 0} For me this looks as ruby at some point and under some circumstances overwrites its memory... An m68k gcc bug isn't impossible, but unprobable. I'm sorry that I can't debug more on this due to lack of knowledge about ruby internals and spare time... I've archived the necessary files for debugging at ftp://ftp.uni-erlangen.de/pub/Linux/LOCAL/tmp/ruby-core.tar.gz Roman --Multipart_Sat_Oct_16_23:27:57_1999-1--