submitter 637757 ! thanks Dear ecasound maintainers,
Sorry for the BTS ping-pong, please find below the rationale for cloning this bug to libecasoundc1. Thanks! > It appears there is a problem with ecasound/libecasoundc1 on mips, > which causes failures in the test suite of libaudio-ecasound-perl, > making it FTBFS. > > I was able to isolate the problem using the following C program: > > ----------------------------------------->8-- > #include <stdio.h> > #include <stdlib.h> > #include <libecasoundc/ecasoundc.h> > > void main( int argc, char**argv) { > eci_init(); > > if ( eci_error() ) { > fprintf( stderr, "init Error: %s\n", eci_last_error() ); > exit(1); > } > > eci_command("int-cmd-list"); > if ( eci_error() ) { > fprintf( stderr, "Error: %s\n", eci_last_error() ); > exit(1); > } > > const char * t = eci_last_type(); > fprintf( stdout, "T=%s\n", t); > if ( strcmp( t, "S" ) == 0 ) { > int cnt = eci_last_string_list_count(); > int i; > for ( i = 0; i < cnt; i++ ) { > fprintf( stdout, "S[%d]=%s\n", i, eci_last_string_list_item(i) ); > } > } > exit(0); > } > ----------------------------------------->8-- > > Compile: `gcc -o ecatest -lecasoundc ecatest.c' > Run: `./ecatest' > > Running it on amd64 gives 200 commands as a result, but fails on mips > (tried on gabrielli.debian.org): > > dmn@gabrielli:~$ strace -f -o trace -s 1024 ./ecatest > *********************************************************************** > * Message from libecasoundc: > * > * 'ECASOUND' environment variable not set. Using the default value > * value 'ECASOUND=ecasound'. > *********************************************************************** > > > (ecasoundc_sa) Error='read() error', cmd='' last_error='' cmd_cnt=1 > last_cnt=0. > > *********************************************************************** > * Message from libecasoundc: > * > * A null client handle detected. This is usually caused by a bug > * in the ECI application. Please report this bug to the author of > * the program. > *********************************************************************** > > Warning: DBC_CHECK failed - "eci_rep != NULL", ecasoundc_sa.c, 876. > $ > > The first thing that the test suite of libaudio-ecasound-perl does is > to retrieve the list of the commands, much like the above program, and > fails with exactly the same message. > > The trace ends with: > > ----------------------------------------->8-- > <...lots and lots of clock_gettime lines...> > 9070 clock_gettime(CLOCK_MONOTONIC, {1721809, 505245051}) = 0 > 9070 clock_gettime(CLOCK_MONOTONIC, {1721809, 505448267}) = 0 > 9070 rt_sigaction(SIGILL, {SIG_DFL, [RT_69 RT_70 RT_71 RT_75 RT_76 RT_77 > RT_82 RT_84 RT_87 RT_88 RT_89 > RT_90 RT_91 RT_92 RT_93 RT_94], 0}, NULL, 16) = 0 > 9070 write(2, "(", 1) = 1 > 9070 write(2, "eca-chainsetup", 14) = 14 > 9070 write(2, ") ", 2) = 2 > 9070 write(2, "Chainsetup \"untitled-chainsetup\"", 32) = 32 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "(", 1) = 1 > 9070 write(2, "eca-session", 11) = 11 > 9070 write(2, ") ", 2) = 2 > 9070 write(2, "NOTE: Unable to create a valid chainsetup from the > command-line arguments.", 74) = 74 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 fstat64(0, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 > 9070 old_mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x75c7e000 > 9070 read(0, "debug 256\nint-set-float-to-string-precision > 17\nint-output-mode-wellformed\n", 4096) = 74 > 9070 write(2, "Debug level set to 256.", 23) = 23 > 9070 write(2, "\n", 1) = 1 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 fstat64(1, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 > 9070 old_mmap(NULL, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, > -1, 0) = 0x75c6e000 > 9070 write(1, "256 0 -\r\n\r\n\r\n", 13) = -1 EPIPE (Broken pipe) > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 read(0, "", 4096) = 0 > 9070 write(2, "ecasound ('h' for help)> ", 25) = 25 > 9070 write(2, "---\necasound: Exiting...", 24) = 24 > 9070 write(2, "\n", 1) = 1 > 9070 tgkill(9070, 9071, SIGHUP) = 0 > 9071 <... rt_sigtimedwait resumed> ) = 1 > 9071 rt_sigprocmask(SIG_UNBLOCK, [INT QUIT PIPE TERM], <unfinished ...> > 9070 rt_sigprocmask(SIG_UNBLOCK, [INT QUIT PIPE TERM], <unfinished ...> > 9071 <... rt_sigprocmask resumed> NULL, 16) = 0 > 9070 <... rt_sigprocmask resumed> NULL, 16) = 0 > 9070 --- SIGPIPE (Broken pipe) @ 0 (0) --- > 9071 madvise(0x75c8e000, 8249344, MADV_DONTNEED <unfinished ...> > 9070 rt_sigreturn(0xd <unfinished ...> > 9071 <... madvise resumed> ) = 0 > 9071 exit(0) = ? > 9070 <... rt_sigreturn resumed> ) = 0 > 9070 exit_group(0) = ? > ----------------------------------------->8-- > > I hope this helps to pinpoint the problem. > -- dam -- To UNSUBSCRIBE, email to debian-bugs-rc-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org