On Fri, Jul 20, 2001 at 08:14:55PM -0700, Josh Coalson wrote:> --- Matt Zimmerman <mdz@debian.org> wrote: > > On Fri, Jul 20, 2001 at 10:51:11PM -0400, Matt Zimmerman wrote: > > > > > This version seems to work at least partially on ia64. I am able > > to encode my > > > usual test WAV file now, but I still get a segfault during the > > self-tests. > > > > Interestingly enough, when I recompiled with --enable-debug to get a > > stack > > trace, it worked. Any ideas how to track down the problem? > > don't you just hate those? maybe just manually turning > on basic debug info in the release build would get you > enough to narrow it down.OK, here's the stack trace: (gdb) bt #0 FLAC__bitbuffer_read_raw_uint32 (bb=0x20000000008c8048, val=0x80000fffffffa498, bits=24, read_callback=0x20000000003b1008, client_data=0x60000000002beb20) at bitbuffer.c:1107 #1 0x2000000000123dc0 in stream_decoder_read_metadata_ ( decoder=0x60000000002beb20) at stream_decoder.c:633 #2 0x2000000000123300 in FLAC__stream_decoder_process_metadata ( decoder=0x60000000002beb20) at stream_decoder.c:427 #3 0x4000000000010320 in write_callback (encoder=0x60000000002b8290, buffer=0x60000000002f9df0 "fLaC", bytes=64, samples=0, current_frame=0, client_data=0x80000fffffffa5c0) at encode.c:964 #4 0x200000000012bc60 in FLAC__stream_encoder_init ( encoder=0x60000000002b8290) at stream_encoder.c:467 #5 0x400000000000d840 in init_encoder (lax=0, do_mid_side=0, loose_mid_side=0, do_exhaustive_model_search=0, do_escape_coding=0, do_qlp_coeff_prec_search=0, min_residual_partition_order=3, max_residual_partition_order=3, rice_parameter_search_dist=0, max_lpc_order=8, blocksize=4608, qlp_coeff_precision=0, channels=1, bps=16, sample_rate=44100, padding=0, requested_seek_points=0x60000000002ab138 "100x", num_requested_seek_points=-1, encoder_wrapper=0x80000fffffffa5c0) at encode.c:711 #6 0x2000000000123dc0 in stream_decoder_read_metadata_ ( decoder=0x60000000002b7dd0) at stream_decoder.c:633 ---Type <return> to continue, or q <return> to quit--- #7 0x80000fffffffa5e4 in ?? () #8 0x2000000000123dc0 in stream_decoder_read_metadata_ (decoder=Cannot access memory at address 0x80000fff7fffff00 Do you consider this important enough to take care of for 1.0, or do you want to get 1.0 out and worry about porting later? -- - mdz
--- Matt Zimmerman <mdz@debian.org> wrote:> On Fri, Jul 20, 2001 at 08:14:55PM -0700, Josh Coalson wrote: > > > --- Matt Zimmerman <mdz@debian.org> wrote: > > > On Fri, Jul 20, 2001 at 10:51:11PM -0400, Matt Zimmerman wrote: > > > > > > > This version seems to work at least partially on ia64. I am > > > able > > > to encode my > > > > usual test WAV file now, but I still get a segfault during the > > > self-tests. > > > > > > Interestingly enough, when I recompiled with --enable-debug to > > > get a > > > stack > > > trace, it worked. Any ideas how to track down the problem? > > > > don't you just hate those? maybe just manually turning > > on basic debug info in the release build would get you > > enough to narrow it down. > > OK, here's the stack trace: > > (gdb) bt > #0 FLAC__bitbuffer_read_raw_uint32 (bb=0x20000000008c8048, > val=0x80000fffffffa498, bits=24, > read_callback=0x20000000003b1008, > client_data=0x60000000002beb20) at bitbuffer.c:1107 > #1 0x2000000000123dc0 in stream_decoder_read_metadata_ ( > decoder=0x60000000002beb20) at stream_decoder.c:633 > #2 0x2000000000123300 in FLAC__stream_decoder_process_metadata ( > decoder=0x60000000002beb20) at stream_decoder.c:427 > #3 0x4000000000010320 in write_callback (encoder=0x60000000002b8290, > > buffer=0x60000000002f9df0 "fLaC", bytes=64, samples=0, > current_frame=0, > client_data=0x80000fffffffa5c0) at encode.c:964 > #4 0x200000000012bc60 in FLAC__stream_encoder_init ( > encoder=0x60000000002b8290) at stream_encoder.c:467 > #5 0x400000000000d840 in init_encoder (lax=0, do_mid_side=0, > loose_mid_side=0, do_exhaustive_model_search=0, > do_escape_coding=0, > do_qlp_coeff_prec_search=0, min_residual_partition_order=3, > max_residual_partition_order=3, rice_parameter_search_dist=0, > max_lpc_order=8, blocksize=4608, qlp_coeff_precision=0, > channels=1, > bps=16, sample_rate=44100, padding=0, > requested_seek_points=0x60000000002ab138 "100x", > num_requested_seek_points=-1, encoder_wrapper=0x80000fffffffa5c0) > at encode.c:711 > #6 0x2000000000123dc0 in stream_decoder_read_metadata_ ( > decoder=0x60000000002b7dd0) at stream_decoder.c:633 > ---Type <return> to continue, or q <return> to quit--- > #7 0x80000fffffffa5e4 in ?? () > #8 0x2000000000123dc0 in stream_decoder_read_metadata_ > (decoder=Cannot access memory at address 0x80000fff7fffff00 > > Do you consider this important enough to take care of for 1.0, or do > you want > to get 1.0 out and worry about porting later?I looked at the offending line. It would be pretty hard for me to debug this one without a IA64 machine. One thing you could try is #define FLAC__NO_MANUAL_INLINING in bitbuffer.c. That would at least use the slower version of the crashing function. Josh __________________________________________________ Do You Yahoo!? Make international calls for as low as $.04/minute with Yahoo! Messenger http://phonecard.yahoo.com/
On Fri, Jul 20, 2001 at 10:14:50PM -0700, Josh Coalson wrote:> --- Matt Zimmerman <mdz@debian.org> wrote: > > OK, here's the stack trace: > > > > (gdb) bt #0 FLAC__bitbuffer_read_raw_uint32 (bb=0x20000000008c8048, > > val=0x80000fffffffa498, bits=24, read_callback=0x20000000003b1008, > > client_data=0x60000000002beb20) at bitbuffer.c:1107 > [...] I looked at the offending line. It would be pretty hard for me to > debug this one without a IA64 machine. > > One thing you could try is #define FLAC__NO_MANUAL_INLINING in bitbuffer.c. > That would at least use the slower version of the crashing function.It looks like bb->consumed_bytes in 107008, despite the input file being only two bytes long. That can't be right, can it? consumed_bits is zero. I'll play with it some, and see if I can't find out what's going wrong. -- - mdz
On Fri, Jul 20, 2001 at 10:14:50PM -0700, Josh Coalson wrote:> I looked at the offending line. It would be pretty hard for me to debug this > one without a IA64 machine. > > One thing you could try is #define FLAC__NO_MANUAL_INLINING in bitbuffer.c. > That would at least use the slower version of the crashing function.Using the FLAC__NO_MANUAL_INLINING VERSION seems to fix everything, both for the small streams and the rest of the tests. -- - mdz