From: Jurij Smakov <jurij AT wooyd DOT org>
To: 406036 AT bugs DOT debian DOT org
Subject: FTBFS on sparc
Date: Sun, 17 Feb 2008 21:04:52 +0000
severity 406036 serious
found 406036 1.3.4-2
Here's the backtrace for the SIGBUS on sparc in tsa2d32.c:
Program received signal SIGBUS, Bus error.
[Switching to Thread 0xf7aceac0 (LWP 10858)]
0x00011544 in qcmp_usecount (a=0x24008, b=0x2400c) at tsa2d32.c:67
67 lena=*(pa++); usecounta = *((usecount_t *)pa); pa+=
(gdb) bt full
#0 0x00011544 in qcmp_usecount (a=0x24008, b=0x2400c) at tsa2d32.c:67
idxa = 0
pa = 0xf6fd4009 ""
idxb = 13
pb = 0xf6fd4015 "\005"
lena = 2 '\002'
lenb = 2 '\002'
len = 2 '\002'
i = 680187
ka = 65535
kb = 65535
usecounta = 680205
usecountb = 0
tlena = 6
tlenb = 6
pa is a pointer to char, so when pa is incremented (pa++), it becomes
unaligned, and gets a SIGBUS when an attempt is made to read 4 bytes
(the size of usecount_t, which is int) at this location. Generally,
it's a very bad idea to mix char and int data in the same array, I'm
somewhat surprised that it actually works on other arches with strict
I'm bumping the severity back to serious, since failure to build on
sparc is still a release-critical bug.
Jurij Smakov jurij AT wooyd DOT org
Key: http://www.wooyd.org/pgpkey/ KeyID: C99E03CC