| Summary: | media-sound/soundtracker-0.6.7 fails to launch, "invalid pointer" | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | nm (RETIRED) <nightmorph> |
| Component: | New packages | Assignee: | Gentoo Sound Team <sound> |
| Status: | RESOLVED NEEDINFO | ||
| Severity: | normal | CC: | amd64, rhill, stian |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
| Attachments: | error.txt | ||
|
Description
nm (RETIRED)
2007-04-28 03:58:42 UTC
Created attachment 117467 [details]
error.txt
soundtracker error output.
confirmed w/ nightmorph on irc that this was fixed in 0.6.7-r1. however it still crashes in-program with 0.6.8: [2214] <@ nightmorph> | launching from the gnome menu and clicking "clear all" nukes the program with similar backtrace to the one i reported in teh bug this looks amd64 specific. soundtracker 0.6.7:
==16483== Invalid write of size 4
==16483== at 0x405829D: pthread_cond_init@@GLIBC_2.3.2 (in /lib/libpthread-2.5.so)
==16483== by 0x8094257: jack_driver_new (jack-output.c:320)
==16483== by 0x8057100: audioconfig_load_config (audioconfig.c:407)
==16483== by 0x806D8DA: main (main.c:231)
==16483== Address 0x537B8EC is 12 bytes after a block of size 24 alloc'd
==16483== at 0x402297F: malloc (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==16483== by 0x8094210: jack_driver_new (jack-output.c:317)
==16483== by 0x8057100: audioconfig_load_config (audioconfig.c:407)
==16483== by 0x806D8DA: main (main.c:231)
==16483== Invalid free() / delete / delete[]
==16483== at 0x402188D: free (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==16483== by 0x445FA53: snd_seq_port_subscribe_free (in /usr/lib/libasound.so.2.0.0)
==16483== by 0x806D8E9: main (main.c:235)
==16483== Address 0xBED67180 is on thread 1's stack
lets take a look :-)
jack-output.c:317 has a small issue
d->state_cv = (pthread_cond_t *)malloc(sizeof (pthread_mutex_t));
should have been
d->state_cv = (pthread_cond_t *)malloc(sizeof (pthread_cond_t));
The issue in main.c:235 actually happens in midi-09x.c:
rc = snd_seq_subscribe_port( midi_handle, port_sub);
if (rc < 0) {
snd_seq_port_subscribe_free(port_sub);
close_handle( midi_handle);
midi_handle = NULL;
g_warning( "error subscribing sequencer port (%s)\n", snd_strerror(rc));
return;
}
Where snd_seq_port_subscribe_free() is called if snd_seq_subscribe_port() fails, which is probably wrong to do.
I'm not able to test any further, as I don't have midi support in my alsa, and I have very little knowledge about ALSA. Could the issues mentioned above be the reason for the crash on amd64?
(In reply to comment #2) > confirmed w/ nightmorph on irc that this was fixed in 0.6.7-r1. however it > still crashes in-program with 0.6.8: > > [2214] <@ nightmorph> | launching from the gnome menu and clicking "clear all" > nukes the program with similar backtrace to the one i reported in teh bug > > this looks amd64 specific. > Well, the patch from 0.6.7-r1 is in 0.6.8 so it can't be same, can it? We need a backtrace from 0.6.8 or this is going no where. |