tags 606487 - unreproducible

Hi.

I have reproduced it on my machine and I am also attaching the patch
that fixes the problem.

The problem was that race condition was happening, because thread was
not identified as a closed. Here is the part of the stack trace from
gdb:

(gdb) bt
#0  0xb7fe2424 in __kernel_vsyscall ()
#1  0xb74bcaf5 in pthread_join () from /lib/i686/cmov/libpthread.so.0
#2  0x0804d1b8 in lingot_audio_stop (audio=0x810bc40) at
lingot-audio.c:202
#3  0x0804fa8f in lingot_core_stop (core=0x80755d0) at lingot-core.c:496
#4  0x0805307d in lingot_mainframe_change_config (frame=0x80653f8,
conf=0x81b14b0) at lingot-mainframe.c:867
#5  0x0805144c in lingot_config_dialog_callback_close (widget=0x80a89c0,
dialog=0x81b4218) at lingot-config-dialog.c:97

Should I also send this upstream?

Best regards,
Ruslans Tarasovs
diff -r 315755d3d979 src/lingot-audio.c
--- a/src/lingot-audio.c	Sat Dec 11 17:06:17 2010 +0100
+++ b/src/lingot-audio.c	Tue Feb 15 21:27:19 2011 +0200
@@ -194,6 +194,7 @@
 	void* thread_result;
 
 	if (audio->running == 1) {
+		audio->running = 0;
 
 		// threads cancelation
 		if (audio->audio_system != AUDIO_SYSTEM_JACK) {

Reply via email to