Hi,
I am getting the same error as posted here:
https://github.com/FreeRDP/FreeRDP-old/issues/26 using the current git
head(8f87f3e817b5df7b241e361b5d746f214ba4c4a3) on Ubuntu 11.04 x86.
Sometimes the segfault happens after running freerdp for a few seconds,
sometimes it does not happen for several minutes but eventually it
always happens.
And it seems to happen more rarely if running in gdb...
Here's the complete backtrace:
[New Thread 0xb636eb70 (LWP 993)]
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=5
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=5
DBG_DVC audin_alsa_thread_func (171): in
DBG_DVC audin_alsa_thread_receive (137): encoded 5040 to 1280
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1281
DBG_DVC audin_alsa_thread_receive (137): encoded 5040 to 1280
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1281
DBG_DVC audin_alsa_thread_receive (137): encoded 5040 to 1280
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=1281
DBG_DVC drdynvc_process_receive (290): Cmd=0x3
DBG_DVC drdynvc_process_data (260): ChannelId=2
DBG_DVC audin_on_data_received (315): MessageId=0x7
DBG_DVC audin_process_format_change (279): NewFormat=7
DBG_DVC audin_alsa_close (311):
DBG_DVC audin_alsa_set_format (288): aligned FramesPerPacket=3024
DBG_DVC audin_alsa_open (299):
[New Thread 0xb5b6db70 (LWP 994)]
DBG_DVC drdynvc_write_data (83): ChannelId=2 size=5
DBG_DVC audin_alsa_thread_func (171): in
DBG_DVC audin_alsa_thread_func (217): out
[Thread 0xb5b6db70 (LWP 994) exited]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb636eb70 (LWP 993)]
0x005635c6 in ?? () from /lib/i386-linux-gnu/libc.so.6
(gdb) backtrace full
#0 0x005635c6 in ?? () from /lib/i386-linux-gnu/libc.so.6
No symbol table info available.
#1 0x003d0f00 in ERR_load_DSO_strings () from /lib/libcrypto.so.0.9.8
No symbol table info available.
#2 0x007c21bc in audin_alsa_thread_func (arg=0x8062808)
at /usr/src/FreeRDP/channels/drdynvc/audin/alsa/audin_alsa.c:204
error = 2520
buffer = 0x8295928 "\304\b)\001G\374\273\374Z\001e\003\022\005
\346\a\372\b\330\v\215\rX\n\302\004r\372\025\356j\346\360ߨ\332)֬\317\025
\343\353\377\254\017>*])0\033\253\veֱ\300\243\305\f\321\351\370\061\017
\070\027\273\031K\020G\005o\376A\377}\376\241\377v\374\221\363\037\365
\363\370\272\003\353\022\063\030\024\033\212\027]\r\254\006\356\001\261
\377\004\003\274\003#\003r\005\223\005H\b(\f\021\n\374\005\376\374-\356
\241\342\306ק\316\331ɭ\330T\373\240\r!$3./\034\306\024\204\351\351\306
\345̘\314[\353\363\a\236\016x\027+\023\211\v\017\006\301\003\035\001\354
\376\231\374-\362\352\362i\367\332\377\253\021\256\027\257\034<\033\321
\020"...
rbytes_per_frame = 2
tbytes_per_frame = 2
capture_handle = 0x8296eb8
alsa = 0x8062808
__FUNCTION__ = "audin_alsa_thread_func"
#3 0x004dae99 in start_thread ()
from /lib/i386-linux-gnu/libpthread.so.0
No symbol table info available.
#4 0x005be73e in clone () from /lib/i386-linux-gnu/libc.so.6
No symbol table info available.
This patch does prevent the segfault but then dvc simply stops working
and the session continues with no sound at all.
diff --git a/channels/drdynvc/audin/alsa/audin_alsa.c
b/channels/drdynvc/audin/alsa/audin_alsa.c
index 26da829..5434476 100644
--- a/channels/drdynvc/audin/alsa/audin_alsa.c
+++ b/channels/drdynvc/audin/alsa/audin_alsa.c
@@ -98,6 +98,9 @@ static boolean
audin_alsa_thread_receive(AudinALSADevice* alsa, uint8* src, int
int tbytes_per_frame;
uint8* resampled_data;
+ if (alsa->buffer == NULL)
+ return 1;
+
rbytes_per_frame = alsa->actual_channels *
alsa->bytes_per_channel;
tbytes_per_frame = alsa->target_channels *
alsa->bytes_per_channel;
Any ideas how to fix this for real?
Regars,
Friedrich
------------------------------------------------------------------------------
All the data continuously generated in your IT infrastructure contains a
definitive record of customers, application performance, security
threats, fraudulent activity and more. Splunk takes this data and makes
sense of it. Business sense. IT sense. Common sense.
http://p.sf.net/sfu/splunk-d2dcopy1
_______________________________________________
Freerdp-devel mailing list
Freerdp-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freerdp-devel