Rare crash when calling pjsua_set_snd_dev on Windows

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi everyone,

In our PJSIP app users occasionally report crashes on Windows when we call pjsua_set_snd_dev. We call this function when the audio devices on the system have changed (e.g. the user plugged a headset in or unplugged it), but there are also crashes which are unrelated to changing audio devices (e.g. when we shutdown and restart PJSIP due to changed network settings or when the user manually selects a device). Has anyone seen similar crashes? Usually a secondary thread is crashing somewhere in winmm.dll/wdmaud.drv. This issue happens only on Windows, the same code is working fine on the Mac with CoreAudio drivers. The crash is very hard to reproduce, and we don't know how to debug it.

Below are two sample crash tracebacks. I would appreciate any help.

Thanks,
Thomas


main thread:
	ntdll.dll!77b77094() 	
	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
	ntdll.dll!77b76a24() 	
	ntdll.dll!77b62278() 	
	ntdll.dll!77b76a04() 	
	ntdll.dll!77b898ef() 	
	ntdll.dll!77b89b73() 	
	ntdll.dll!77b89b1d() 	
	rpcrt4.dll!7687769d() 	
	msvcr90.dll!722b3c1b() 	
	App.exe!_pj_pool_create_on_buf()  + 0x130 bytes	C
	App.exe!_pj_pool_destroy_int()  + 0x2c bytes	C
	App.exe!_pj_caching_pool_destroy()  + 0x2b2 bytes	C
	App.exe!_pj_pool_release()  + 0x14 bytes	C
	App.exe!_pjmedia_clock_destroy()  + 0x67 bytes	C
	App.exe!_pjmedia_master_port_destroy()  + 0x21 bytes	C
	App.exe!_pjsua_enum_snd_devs()  + 0x408 bytes	C
	App.exe!_pjsua_aud_stop_stream()  + 0x127 bytes	C
	App.exe!_pjsua_set_snd_dev()  + 0x18d bytes	C

crashed thread:
	App.exe!_pjmedia_wmme_factory()  + 0xd6c bytes	C
	App.exe!_pj_thread_init()  + 0x9b bytes	C
	ntdll.dll!77b9377b() 	
	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
	ntdll.dll!77b9374e() 	



main thread:
	ntdll.dll!77517094() 	
	[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]	
	ntdll.dll!77516a24() 	
	wdmaud.drv!6c024d62() 	
	wdmaud.drv!6c02530b() 	
	wdmaud.drv!6c02ed90() 	
	wdmaud.drv!6c02e2f6() 	
	wdmaud.drv!6c02963f() 	
	wdmaud.drv!6c02662a() 	
	winmm.dll!6fe79161() 	
	App.exe!_pjmedia_wmme_factory()  + 0x943 bytes	C
	App.exe!_pjmedia_wmme_factory()  + 0x13c4 bytes	C
	App.exe!_pjmedia_aud_stream_create()  + 0x177 bytes	C
	App.exe!_pjmedia_snd_port_disconnect()  + 0x125 bytes	C
	App.exe!_pjmedia_snd_port_create2()  + 0xea bytes	C
	App.exe!_pjsua_aud_stop_stream()  + 0x1e1 bytes	C
	App.exe!_pjsua_set_snd_dev()  + 0x18d bytes	C

crashed thread:
	msvcrt.dll!75aeabe9() 	
	[Frames below may be incorrect and/or missing, no symbols loaded for msvcrt.dll]	
	wdmaud.drv!6c030db5() 	
	wdmaud.drv!6c031121() 	
	wdmaud.drv!6c02fa11() 	
	wdmaud.drv!6c02f522() 	
	wdmaud.drv!6c02f721() 	
	wdmaud.drv!6c024dce() 	
	wdmaud.drv!6c0250cb() 	
	wdmaud.drv!6c028119() 	
	ntdll.dll!7753377b() 	
	ntdll.dll!7753374e() 	




[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux