Saturday, December 01, 2018

[macppc] audio/mpg321 segfaults

Hi,

mpg321 segfaults when trying to play or convert MP3 files on macppc-current.
I've rebuilt with debug symbols and checked if a patch was available.
None of them are related to this issue.

This breaks runtime for at least one port (audio/normalize*).

I'm leaving the full backtrace. Any idea is welcome!

Charlène.

* I need it to ensure i've properly fixed devel/libaudiofile with
ports-gcc-6.4 on macppc.


Program received signal SIGSEGV, Segmentation fault.
0x243e6704 in output (data=0xfffe4d7c, header=0xaaefb040, pcm=0xaaefe478)
at /usr/ports/pobj/mpg321-0.3.2/mpg321-0.3.2-orig/mad.c:998
998 tempsample = mad_f_mul(*right_ch++, options.volume);
#0 0x243e6704 in output (data=0xfffe4d7c, header=0xaaefb040, pcm=0xaaefe478)
at /usr/ports/pobj/mpg321-0.3.2/mpg321-0.3.2-orig/mad.c:998
__hi = 608278178
__lo = 608278177
nsamples = 335
left_ch = (const mad_fixed_t *) 0xaaeffe08
right_ch = (const mad_fixed_t *) 0xaaf01000
ptr = 0x244196a2 ""
sample = 0
tempsample = 0
stream = "\000\001__\000\001__\000\000\000\000\000\000\000\001__\000\000\000\000\000\000__\000\002__\000\002__\000\000\000\000\000\000\000\000\000\001__\000\000__\000\001\000\000\000\000\000\000\000\001__\000\001__\000\001__\000\001", '\0' <repeats 20 times>, "__\000\002__\000\002__\000\000\000\001__\000\001__\000\000\000\000\000\000\000\000\000\001__\000\002__\000\001\000\000\000\001__\000\000\000\001__\000\000\000\001__\000\002__\000\000\000\000\000\000__\000\001", '\0' <repeats 16 times>, "__\000\001__\000\002__\000\002__\000\002__\000\001\000\000\000\000\000\000\000\001__\000\002__\000\001", '\0' <repeats 12 times>...
rate = 44100
channels = 2
dither = {error = {3, 1920, -3}, random = -2045352513}
read_sops = {sem_num = 0, sem_op = -1, sem_flg = 0}
write_sops = {sem_num = 1, sem_op = 1, sem_flg = 0}
peak_rate = 0
peak = 2
#1 0xbf77ce8c in run_sync (decoder=0xfffe5228)
at /usr/ports/pobj/libmad-0.15.1b/libmad-0.15.1b/decoder.c:440
error_func = (enum mad_flow (*)(void *, struct mad_stream *, struct mad_frame
*)) 0x243e3b3c <handle_error>
error_data = (void *) 0xfffe4d7c
bad_last_frame = 0
stream = (struct mad_stream *) 0xaaefb000
frame = (struct mad_frame *) 0xaaefb040
synth = (struct mad_synth *) 0xaaefd474
result = 0
#2 0xbf77d268 in mad_decoder_run (decoder=0xfffe5228, mode=MAD_DECODER_MODE_SYNC)
at /usr/ports/pobj/libmad-0.15.1b/libmad-0.15.1b/decoder.c:557
result = 2
run = (int (*)(struct mad_decoder *)) 0xbf77cb1c <run_sync>
#3 0x243e2910 in main (argc=2, argv=0xfffe5774)
at /usr/ports/pobj/mpg321-0.3.2/mpg321-0.3.2-orig/mpg321.c:1112
fd = 7
currentfile = 0xb03cdb00 "/tmp/mp3test/00001-Intro.mp3"
old_dir = "/tmp/mp3test", '\0' <repeats 1011 times>
pl = (playlist *) 0xd56bd000
id3struct = (struct id3_file *) 0xb03d0c80
id3tag = (struct id3_tag *) 0xa78cbe00
retval = 0
playbuf = {buf = 0xe0085000, frames = 0xb03d1000, times = 0xb03d5000, fd = -1,
length = 441781, done = 1, num_frames = 1056, max_frames = 4294967295, duration = {
seconds = 27, fraction = 215208000},
filename = "/tmp/mp3test/00001-Intro.mp3", '\0' <repeats 995 times>, pl = 0xd56bd000}
decoder = {mode = MAD_DECODER_MODE_SYNC, options = 1, async = {pid = 0, in = -1,
out = -1}, sync = 0xaaefb000, cb_data = 0xfffe4d7c,
input_func = 0x243e3c50 <read_from_mmap>, header_func = 0x243e4340 <read_header>,
filter_func = 0, output_func = 0x243e63f0 <output>, error_func = 0x243e3b3c <handle_error>,
message_func = 0}
keyb_thread = 0x90010028
sem_key = -2101870572
mem_key = -2103967728
frames_key = -2145910784
sem_ops = {val = 1208008105, buf = 0x4800bda9, array = 0x4800bda9}
shm_id = 2130953080
frames_id = -1877213140
n = 0
start_sops = {sem_num = 2, sem_op = -1, sem_flg = 0}
wstatus = 0

No comments:

Post a Comment