[jurij@wooyd.org: Bug#323126: slate - backtrace for the bus error]

Helmut Grohne helmut at subdivi.de
Thu Mar 23 13:11:00 PST 2006


Hi,

I'd like to forward a message on a Debian-related bug in the slate vm.
The bug was about odd alignments resulting in SIGBUS on some
architectures. The original message by Jurij Smakov is below. I don't
know whether the bug is still in current vm code as this is an older
version of the Debian packe as I cannot upload packages.

Helmut Grohne

----- Forwarded message from Jurij Smakov <jurij at wooyd.org> -----

Envelope-to: helmut at subdivi.de
Delivery-date: Tue, 21 Mar 2006 07:38:32 +0100
Subject: Bug#323126: slate - backtrace for the bus error
Reply-To: jurij at wooyd.org, 323126 at bugs.debian.org
Resent-From: Jurij Smakov <jurij at wooyd.org>
Resent-To: debian-bugs-dist at lists.debian.org
Resent-CC: Helmut Grohne <helmut at subdivi.de>
Resent-Date: Tue, 21 Mar 2006 06:03:12 UTC
Resent-Message-ID: <handler.323126.B323126.114292088113872 at bugs.debian.org>
X-Debian-PR-Message: report 323126
X-Debian-PR-Package: slate
X-Debian-PR-Keywords: 
From: Jurij Smakov <jurij at wooyd.org>
To: 323126 at bugs.debian.org
Cc: slate at tunes.org
Resent-Sender: Debian BTS <debbugs at bugs.debian.org>
Resent-Date: Mon, 20 Mar 2006 22:03:13 -0800
X-Spam-Checker-Version: SpamAssassin 3.0.3 (2005-04-27) on colin
X-Spam-Level: 
X-Spam-Status: No, score=-0.1 required=6.0 tests=BAYES_00,
	DATE_IN_FUTURE_06_12,RCVD_IN_BL_SPAMCOP_NET autolearn=no version=3.0.3

[This is a followup message for the slate bug #323126, filed in Debian ] 
[Bug Tracking System. See http://bugs.debian.org/323126 for details.   ]

Hi,

Here's the backtrace for the bus error problem during slate build:

Starting program: /home/jurij/porting/slate-0.3.4.3/vm big.image

Program received signal SIGBUS, Bus error.
0x0001bda4 in ObjectPointer_dispatchTo_arity_above_ (name=1881579644,
    arguments=0x702a8e50, n=1, resendMethod=0) at ../../../../../vm.c:3180
3180                if (!(map -> dispatchID == currentDispatchID))
(gdb) bt
#0  0x0001bda4 in ObjectPointer_dispatchTo_arity_above_ (name=1881579644,
    arguments=0x702a8e50, n=1, resendMethod=0) at ../../../../../vm.c:3180
#1  0x0001cf68 in PSInterpreter_send_to_through_arity_withOptionals_ (
    i=0x702a8e7c, selector=1881579644, args=0x702a8e50, 
    dispatchers=0x702a8e50,
    n=1, opts=0x0) at ../../../../../vm.c:3398
#2  0x0001f734 in PSInterpreter_sendMessage_withOptionals_ (i=0x702a8e7c, 
n=1,
    opts=0x0) at ../../../../../vm.c:1117
#3  0x0001e8e0 in PSInterpreter_interpret (i=0x702a8e7c)
    at ../../../../../vm.c:3755
#4  0x00011b58 in slateMain (argc=2, argv=0xef885a24) at ../boot.c:195
#5  0x000146b4 in main (argc=2, argv=0xef885a24) at main.c:5

The reason for bus error is an unaligned access to the dispatchID element 
of the map structure. It is declared as long long, so it must be aligned 
on the double-word boundary, but after all the casting it ends up with:

(gdb) print &map->dispatchID
$1 = (long long unsigned int *) 0x702b1564

So it's only word-aligned, and gets a SIGBUS as a result.

Best regards,

Jurij Smakov                                        jurij at wooyd.org
Key: http://www.wooyd.org/pgpkey/                   KeyID: C99E03CC



----- End forwarded message -----



More information about the Slate mailing list