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


Reply via email to