Bug#522571: bam: broken on SPARC

Julien Cristau jcristau at debian.org
Sun Apr 5 00:01:28 UTC 2009


On Sun, 2009-04-05 at 01:14 +0200, Gonéri Le Bouder wrote:
> Package: bam
> Version: 0.2.0-2
> Severity: serious 
> 
> bam is broken on SPARC an gives "Bus error". Teeworlds build fails
> because of that
> 
i had a quick look on sperger.d.o, and it looks like bam thinks it can
handle memory allocation and does a pretty bad job at it.

Program received signal SIGBUS, Bus error.
[Switching to Thread 0xf7ec7a20 (LWP 26427)]
0x00014df8 in node_create (nodeptr=0xffb1e4b4, graph=0xf7be6018, 
    filename=0x3c660 "datasrc/content.py", label=0x0, cmdline=0x0)
    at src/node.c:102
102             node->id = graph->num_nodes++;
(gdb) where
#0  0x00014df8 in node_create (nodeptr=0xffb1e4b4, graph=0xf7be6018, 
    filename=0x3c660 "datasrc/content.py", label=0x0, cmdline=0x0)
    at src/node.c:102
#1  0x0001536c in node_get (graph=0xf7be6018, filename=0x30136 "")
    at src/node.c:184
#2  0x000153a8 in node_add_dependency (node=0x3001c, 
    filename=0x3c660 "datasrc/content.py") at src/node.c:197
#3  0x00012a78 in lf_add_dependency (L=0x34020) at src/main.c:332
[...]
(gdb) disass
Dump of assembler code for function node_create:
[...]
0x00014de8 <node_create+204>:   call  0x144dc <mem_allocate>
0x00014dec <node_create+208>:   ld  [ %i1 + %l1 ], %o0
0x00014df0 <node_create+212>:   or  %l0, 8, %l0
0x00014df4 <node_create+216>:   ld  [ %i1 + %l0 ], %g1
0x00014df8 <node_create+220>:   st  %g1, [ %o0 + 0x34 ]
[...]
(gdb) info registers
[...]
o0             0x300fa  196858
[...]

(%g1 is graph->num_nodes, %o0 is node, 0x34 is the offset of id in
struct NODE)
so node has just been returned by mem_allocate(), its address is
0x300fa, which is absolutely not aligned.
and indeed looking inside src/mem.c shows absolutely no attempt at
returning properly aligned pointers.

Cheers,
Julien





More information about the Pkg-games-devel mailing list