BZ #46: crash in native stub on powerpc (PV corrupt)

Status fields:

creation_ts:2007-10-08 21:28
component:jit
version:default branch
rep_platform:powerpc
op_sys:Linux
bug_status:RESOLVED
resolution:WORKSFORME
reporter:twisti@complang.tuwien.ac.at
$ cacao -cp examples/examples.zip gnu.classpath.examples.sound.AudioPlayerSample
~/cacao/mauve/gnu/testlet/javax/sound/sampled/data/k3b_success1.wav
Welcome to Radio Classpath, only great music for you!
Today's DJ Tap The WaterDroplet
Playing file:
/home/twisti/cacao/mauve/gnu/testlet/javax/sound/sampled/data/k3b_success1.wav
format: WAV audio 8000.0 Hz 8 bits 1 channel
Additional properties: found #7 properties
ext: au
Classpath GStreamer Sound Audio Engine: true
type: WAV audio
depth: 8
decoder: WAV audio demuxer
isSigned: false
mimetype: audio/x-wav
searching line...
line found, opening...
LOG: [0x30021cc0] md_signal_handler_sigsegv: faulting address is not NULL:
addr=0xcd00
Aborted (core dumped)

A call trace shows it happens in the native stub:

LOG: [0x30021cc0]     539700 -4-                                called:
gnu.javax.sound.sampled.gstreamer.lines.GstNativeDataLine.setup_sink_pipeline(Lgnu/class
path/Pointer;)Z
PRIVATE STATIC FINAL NATIVE(0x1005cc10 (Class = "gnu.classpath.Pointer32"))

(gdb) bt
#0  0x0fca032c in raise () from /lib/libc.so.6
#1  0x0fca1fac in abort () from /lib/libc.so.6
#2  0x0fb89098 in vm_abort (text=0xfc2e6d4 "md_signal_handler_sigsegv: faulting
address is not NULL: addr=%p") at vm.c:1998
#3  0x0fbebff4 in md_signal_handler_sigsegv (sig=11, siginfo=0x7fe49a40,
_p=0x7fe49ac0) at md-os.c:119
#4  <signal handler called>
#5  0x312ac270 in ?? ()
#6  0x312ac264 in ?? ()
#7  0x312a3110 in ?? ()
#8  0x312a2d98 in ?? ()
#9  0x312a22b4 in ?? ()
#10 0x30a9198c in ?? ()
#11 0x0fbd2af4 in L_asm_vm_call_method_stack_copy_done () at asmpart.S:195
Cannot access memory at address 0xa5a5a5a9
(gdb) fr 5
#5  0x312ac270 in ?? ()
(gdb) x/16i ($pc-32)
0x312ac250:     mr      r4,r16
0x312ac254:     lwz     r3,-44(r13)
0x312ac258:     lwz     r16,-48(r13)
0x312ac25c:     mtctr   r16
0x312ac260:     bctrl
0x312ac264:     stw     r3,16(r1)
0x312ac268:     mr      r3,r1
0x312ac26c:     mr      r4,r13
0x312ac270:     lwz     r11,-52(r13)
0x312ac274:     mtctr   r11
0x312ac278:     bctrl
0x312ac27c:     mr      r11,r3
0x312ac280:     lwz     r3,16(r1)
0x312ac284:     lwz     r12,292(r1)
0x312ac288:     mtlr    r12
0x312ac28c:     addi    r1,r1,288

Comment #1 by twisti@complang.tuwien.ac.at on 2008-03-22 14:06:01

Here is the backtrace:

(gdb) call threads_print_stacktrace()
        at gnu.javax.sound.sampled.gstreamer.lines.GstNativeDataLine.setup_sink_pipeline
(Lgnu/classpath/Pointer;)Z(Native Method)
        at gnu.javax.sound.sampled.gstreamer.lines.GstNativeDataLine.createSourcePipelin
e(I)Lgnu/javax/sound/sampled/gstreamer/lines/GstPipeline;(GstNativeDataLine.java:53)
        at gnu.javax.sound.sampled.gstreamer.lines.GstSourceDataLine.open()V(GstSourceDa
taLine.java:68)
        at gnu.javax.sound.sampled.gstreamer.lines.GstSourceDataLine.open(Ljavax/sound/s
ampled/AudioFormat;)V(GstSourceDataLine.java:78)
        at gnu.classpath.examples.sound.AudioPlayerSample.main([Ljava/lang/String;)V(Aud
ioPlayerSample.java:149)

Comment #2 by twisti@complang.tuwien.ac.at on 2008-07-04 14:01:14

This is very strange.  It works with current Mercurial tip on my PowerBook G4.  I should
test it on b6, but I'm closing it for now.