Ticket #351 (closed defect: fixed)

Opened 3 years ago

Last modified 3 years ago

module-rtp-recv.c segfaults

Reported by: Achim Owned by: lennart
Milestone: 0.9.15 Component: module-rtp-*
Keywords: Cc:

Description (last modified by lennart) (diff)

I have installed pulseaudio 0.9.12 (https://launchpad.net/~themuso/+archive) in Intrepid (ubuntu 8.10) and I am not able to share my sound card with paprefs.

I am not able to see the device in pavomcontrol. If I start a multicast, pulseaudio 0.9.12 crashes on the receiver side after about 5 sec.

I have seen some messages in /var/log/syslog that my be related to the multicast problem.

Sep 10 18:01:21 achim-desktop pulseaudio[6512]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.achim-laptop.local.alsa_input.pci_8086_27d8_alsa_capture_0'.
Sep 10 18:01:21 achim-desktop pulseaudio[6512]: module-zeroconf-discover.c: Cannot construct valid device name from credentials of service 'tunnel.achim-laptop.local.alsa_output.pci_8086_27d8_alsa_playback_0'.
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 1
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 2
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 3
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 4
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 5
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 6
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 7
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 8
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 9
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 10
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 11
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 12
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 13
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 14
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 15
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 16
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 17
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 18
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 19
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 20
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 21
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 22
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 23
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 24
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 25
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 26
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 27
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 28
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 29
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 30
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 31
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 32
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 33
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 34
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 35
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 36
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 37
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 38
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 39
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 40
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 41
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 42
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 43
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 44
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 45
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 46
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 47
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 48
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 49
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:48 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:49 achim-desktop last message repeated 73 times
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:49 achim-desktop last message repeated 63 times
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:49 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:50 achim-desktop last message repeated 41 times
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 48
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 49
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 49
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:50 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 132 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 47 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 31 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 2 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 4 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:51 achim-desktop last message repeated 23 times
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:51 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:52 achim-desktop last message repeated 16 times
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 40
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 41
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 42
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 43
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 44
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 45
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 46
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 47
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 48
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 49
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 48
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 49
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 50
Sep 10 18:01:52 achim-desktop pulseaudio[6512]: module-rtp-recv.c: blocks in q: 51
Sep 10 18:01:53 achim-desktop last message repeated 166 times
Sep 10 18:01:53 achim-desktop pulseaudio[6512]: module-rtp-recv.c: Updating sample rate
Sep 10 18:01:53 achim-desktop kernel: [  257.399995] pulseaudio[6516]: segfault at 0 ip 0000000000000000 sp 0000000041ba2f08 error 14 in pulseaudio[400000+10000]

This is my hardware on the Desktop: product: 82801H (ICH8 Family) HD Audio Controller and Laptop: roduct: 82801G (ICH7 Family) High Definition Audio Controller

Attachments

pulseaudio-0.9.14-rtp_resamp_init.patch (0.5 kB) - added by erich 3 years ago.
Changing the sink initialization appears to be the correct fix

Change History

  Changed 3 years ago by lennart

  • description modified (diff)

  Changed 3 years ago by lennart

  • milestone set to 0.9.13

  Changed 3 years ago by lennart

  • summary changed from cannot share sound card with paprefs to module-rtp-recv.c segfaults

  Changed 3 years ago by lennart

  • component changed from module-zeroconf-* to module-rtp-*

  Changed 3 years ago by Achim

I have created a new ticket for the second problem, that I have mentioned in this report.

http://pulseaudio.org/ticket/376

Regards Achim

follow-up: ↓ 7   Changed 3 years ago by lennart

  • milestone 0.9.13 deleted

Hmm, I cannot reproduce this here.

Please provide a full back trace.

http://fedoraproject.org/wiki/StackTraces

in reply to: ↑ 6   Changed 3 years ago by Achim

Replying to lennart:

Hmm, I cannot reproduce this here. Please provide a full back trace. http://fedoraproject.org/wiki/StackTraces

I hope I did everything right. This is what I get from gdb.

$ gdb pulseaudio GNU gdb 6.8-debian Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i486-linux-gnu"... (gdb) run Starting program: /usr/bin/pulseaudio [Thread debugging using libthread_db enabled] [New process 10210] Executing new program: /proc/10210/exe /proc/10210/exe: Permission denied. (gdb) thread apply all bt /build/buildd/gdb-6.8/gdb/linux-nat.c:2467: internal-error: linux_nat_thread_alive: Assertion `is_lwp (ptid)' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n)

If I am the only one with this problem it could be that there is something wrong with my setup. I will ask Luke Yelavich if he could update his PPA to PA 0.9.13 and see if the problems are solved.

Regards Achim

follow-up: ↓ 9   Changed 3 years ago by coling

Nice try Achim, but it's not useful on it's own.. Try this:

export LD_BIND_NOW=1
gdb pulseaudio
handle SIGXCPU SIGPWR SIG33 SIG34 SIG42 SIG43 SIG44 SIG45 SIG46 SIG47 SIG48 SIG49 SIG50 SIG51 SIG52 SIG53 SIG63 SIG62 SIG61 SIG60 SIG59 SIG58 nostop noprint
run

Oh and please attach your backtrace to the ticket in a .txt file (or if you do post it in-line then please use the correct WikiFormatting (look at this comment in Trac rather than via email as WikiFormatting is a link!!))

HTHs

Col

in reply to: ↑ 8   Changed 3 years ago by Achim

Thanks for your advice Colin. I hope I did it right this time. Still PA 0.9.12.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb374eb90 (LWP 9357)]
0x00000000 in ?? ()
(gdb) thread apply all bt full

Thread 3 (Thread 0xb2f32b90 (LWP 9358)):
#0  0xb7f4d430 in ?? ()
No symbol table info available.
#1  0xb7f04af2 in pa_rtpoll_run () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#2  0xb2f4978e in thread_func (userdata=0x969b548)
    at modules/module-alsa-source.c:974
	ret = <value optimized out>
	__func__ = "thread_func"
	__PRETTY_FUNCTION__ = "thread_func"
#3  0xb7f0c4c2 in ?? () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#4  0xb7b3c50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#5  0xb7ab97ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 2 (Thread 0xb374eb90 (LWP 9357)):
#0  0x00000000 in ?? ()
No symbol table info available.
#1  0xb26ab8a5 in rtpoll_work_cb (i=0x9696660)
    at modules/rtp/module-rtp-recv.c:306
---Type <return> to continue, or q <return> to quit---
	wi = 5197286
	fix = <value optimized out>
	fix_samples = 42412
	ri = <value optimized out>
	sink_delay = 0
	latency = 308601
	chunk = {memblock = 0xb3dbe000, index = 44952, length = 1272}
	k = 0
	j = 4294967296
	delta = <value optimized out>
	now = {tv_sec = 511, tv_usec = 907487}
	s = (struct session *) 0x967a888
	p = <value optimized out>
	__func__ = "rtpoll_work_cb"
	__PRETTY_FUNCTION__ = "rtpoll_work_cb"
#2  0xb7f04a04 in pa_rtpoll_run () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#3  0xb3860da6 in thread_func (userdata=0x967c9c0)
    at modules/module-alsa-sink.c:1139
	ret = <value optimized out>
	__func__ = "thread_func"
	__PRETTY_FUNCTION__ = "thread_func"
#4  0xb7f0c4c2 in ?? () from /usr/lib/libpulsecore.so.7
---Type <return> to continue, or q <return> to quit---
No symbol table info available.
#5  0xb7b3c50f in start_thread () from /lib/tls/i686/cmov/libpthread.so.0
No symbol table info available.
#6  0xb7ab97ee in clone () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.

Thread 1 (Thread 0xb7994700 (LWP 9354)):
#0  0xb7f4d430 in ?? ()
No symbol table info available.
#1  0xb7ea6689 in pa_mainloop_poll () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#2  0xb7ea7d93 in pa_mainloop_iterate () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#3  0xb7ea7e64 in pa_mainloop_run () from /usr/lib/libpulsecore.so.7
No symbol table info available.
#4  0x08051927 in main (argc=1, argv=0xbfa4e844) at daemon/main.c:946
	c = (pa_core *) 0x9675c78
	buf = (pa_strbuf *) 0x9674a50
	conf = (pa_daemon_conf *) 0x9673558
	mainloop = <value optimized out>
	s = 0x969f448 "\030"
	r = 0
	retval = 0
---Type <return> to continue, or q <return> to quit---
	d = 1
	suid_root = <value optimized out>
	real_root = <value optimized out>
	valid_pid_file = true
	gid = 4294967295
	ltdl_init = <value optimized out>
	passed_fd = <value optimized out>
	e = <value optimized out>
	daemon_pipe = {-1, -1}
	autospawn_fd = -1
	autospawn_locked = false
	__func__ = "main"
	__PRETTY_FUNCTION__ = "main"
#0  0x00000000 in ?? ()
(gdb)

Regards Achim

  Changed 3 years ago by Achim

  • status changed from new to closed
  • resolution set to invalid

I have tested it with pa 0.9.13 and it worked again. If the problem should reappear I will open this bug report again.

Regards Achim

  Changed 3 years ago by perosb

Hi,

this problem occurs for me aswell... I'm running openSUSE 11.1 (but with upgraded pulseaudio to 0.9.13) on the receiver. (and Fedora10 Live on the sender)

It plays a couple of seconds but then dies trying to adjust the sample rate.

Stacktrace:

E: module-zeroconf-discover.c: Resolving of 'liveuser@localhost.localdomain: HDA Intel - STAC92xx Analog' failed: Tidsgräns nåddes                               
E: module-rtp-recv.c: Updating sample rate                                                                                                                       

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7ffff0300950 (LWP 4718)]     
0x0000000000000000 in ?? ()                         
(gdb) thread apply all bt full                      

Thread 3 (Thread 0x7fffef8f5950 (LWP 4719)):
#0  0x00007ffff5b6a5b5 in ppoll () from /lib64/libc.so.6
No symbol table info available.                         
#1  0x00007ffff7bb6314 in pa_rtpoll_run (p=0x6681f0, wait=true) at pulsecore/rtpoll.c:390
        ts = {tv_sec = 0, tv_nsec = 0}                                                   
        i = <value optimized out>                                                        
        r = <value optimized out>                                                        
        timeout = {tv_sec = 0, tv_usec = 0}                                              
        __func__ = "pa_rtpoll_run"                                                       
        __PRETTY_FUNCTION__ = "pa_rtpoll_run"                                            
#2  0x00007fffef8fcb23 in thread_func (userdata=<value optimized out>) at modules/module-alsa-source.c:1008
        ret = <value optimized out>                                                                        
        u = (struct userdata *) 0x628ed0                                                                   
        __func__ = "thread_func"                                                                           
        __PRETTY_FUNCTION__ = "thread_func"                                                                
#3  0x00007ffff7bbc480 in internal_thread_func (userdata=0x679680) at pulsecore/thread-posix.c:72          
        __func__ = "internal_thread_func"                                                                  
        __PRETTY_FUNCTION__ = "internal_thread_func"                                                       
#4  0x00007ffff5e00070 in start_thread () from /lib64/libpthread.so.0                                      
No symbol table info available.                                                                            
#5  0x00007ffff5b730ed in clone () from /lib64/libc.so.6                                                   
No symbol table info available.                                                                            
#6  0x0000000000000000 in ?? ()                                                                            
No symbol table info available.                                                                            

Thread 2 (Thread 0x7ffff0300950 (LWP 4718)):
#0  0x0000000000000000 in ?? ()             
No symbol table info available.             
#1  0x00007fffeb64ff8b in rtpoll_work_cb (i=<value optimized out>) at modules/rtp/module-rtp-recv.c:306
        wi = <value optimized out>                                                                     
        fix_samples = 2062                                                                             
        ri = 4876190                                                                                   
        sink_delay = 141950                                                                            
        latency = 266128                                                                               
        chunk = {memblock = 0x7ffff1366000, index = 50400, length = 1280}                              
        k = <value optimized out>                                                                      
        j = <value optimized out>                                                                      
        now = {tv_sec = 6656, tv_usec = 789318}                                                        
        s = (struct session *) 0x6b0fb0                                                                
        p = <value optimized out>                                                                      
        __func__ = "rtpoll_work_cb"                                                                    
        __PRETTY_FUNCTION__ = "rtpoll_work_cb"                                                         
---Type <return> to continue, or q <return> to quit---                                                 
#2  0x00007ffff7bb6212 in pa_rtpoll_run (p=0x6293e0, wait=true) at pulsecore/rtpoll.c:326              
        k = <value optimized out>                                                                      
        i = (pa_rtpoll_item *) 0x6b0250                                                                
        r = <value optimized out>                                                                      
        timeout = {tv_sec = 6460384, tv_usec = 140737349640275}                                        
        __func__ = "pa_rtpoll_run"                                                                     
        __PRETTY_FUNCTION__ = "pa_rtpoll_run"                                                          
#3  0x00007ffff07e1093 in thread_func (userdata=<value optimized out>) at modules/module-alsa-sink.c:1172
        ret = <value optimized out>                                                                      
        u = (struct userdata *) 0x6291c0                                                                 
        __func__ = "thread_func"                                                                         
        __PRETTY_FUNCTION__ = "thread_func"                                                              
#4  0x00007ffff7bbc480 in internal_thread_func (userdata=0x62c450) at pulsecore/thread-posix.c:72        
        __func__ = "internal_thread_func"                                                                
        __PRETTY_FUNCTION__ = "internal_thread_func"                                                     
#5  0x00007ffff5e00070 in start_thread () from /lib64/libpthread.so.0                                    
No symbol table info available.                                                                          
#6  0x00007ffff5b730ed in clone () from /lib64/libc.so.6                                                 
No symbol table info available.                                                                          
#7  0x0000000000000000 in ?? ()                                                                          
No symbol table info available.                                                                          

Thread 1 (Thread 0x7ffff7fd3780 (LWP 4715)):
#0  0x00007ffff5b6a366 in poll () from /lib64/libc.so.6
No symbol table info available.                        
#1  0x00007ffff7b66997 in pa_mainloop_poll (m=0x61b0f0) at pulse/mainloop.c:859
        __func__ = "pa_mainloop_poll"                                          
        __PRETTY_FUNCTION__ = "pa_mainloop_poll"                               
#2  0x00007ffff7b67d98 in pa_mainloop_iterate (m=0x61b0f0, block=<value optimized out>, retval=0x7fffffffdd2c) at pulse/mainloop.c:923
        r = <value optimized out>                                                                                                     
        __func__ = "pa_mainloop_iterate"                                                                                              
        __PRETTY_FUNCTION__ = "pa_mainloop_iterate"                                                                                   
#3  0x00007ffff7b67e60 in pa_mainloop_run (m=0x61b0f0, retval=0x7fffffffdd2c) at pulse/mainloop.c:941                                 
        r = <value optimized out>                                                                                                     
#4  0x000000000040963f in main (argc=2, argv=<value optimized out>) at daemon/main.c:947                                              
        c = <value optimized out>                                                                                                     
        buf = (pa_strbuf *) 0x61b000                                                                                                  
        conf = <value optimized out>                                                                                                  
        mainloop = <value optimized out>                                                                                              
        s = <value optimized out>                                                                                                     
        r = 0                                                                                                                         
        retval = 0                                                                                                                    
        d = 2                                                                                                                         
---Type <return> to continue, or q <return> to quit---                                                                                
        suid_root = <value optimized out>                                                                                             
        real_root = <value optimized out>                                                                                             
        valid_pid_file = true                                                                                                         
        gid = 4294967295                                                                                                              
        ltdl_init = <value optimized out>                                                                                             
        passed_fd = <value optimized out>                                                                                             
        e = <value optimized out>                                                                                                     
        daemon_pipe = {-1, -1}                                                                                                        
        autospawn_fd = -1                                                                                                             
        autospawn_locked = false                                                                                                      
        __func__ = "main"                                                                                                             
        __PRETTY_FUNCTION__ = "main"                                                      

  Changed 3 years ago by perosb

  • status changed from closed to reopened
  • resolution invalid deleted

This still happens with pulseaudio 0.9.14.

If I comment out line 306 in module-rtp-recv.c it doens't crach but that have other side effects I suppose..

Changed 3 years ago by erich

Changing the sink initialization appears to be the correct fix

  Changed 3 years ago by erich

  • status changed from reopened to closed
  • resolution set to worksforme

This is from 2 emails to the "pulseaudio-discuss" email list, reporting of problem and then the patch to resolve it:

NOTE: I apologize for the detective-y nature of this, for some reason gdb did not want to cooperate and let me debug the pulseaudio server.

Err, hand-determined backtrace:

-- There is a "Updating sample rate" message in the log, then a segfault

at IP 0, right inside the call "pa_resampler_set_input_rate".

-- I added an assert to the resampler inside "src/pulsecore/resampler.c",

i.e.:

pa_assert(r->impl_update_rates);

...and got the following entry in the debug log on the next run (I

ignored the first few large deviations, since it seems to bounce around a lot!):

Feb 2 17:52:21 mythtv3 pulseaudio[8409]: module-rtp-recv.c: Updating sample

rate

Feb 2 17:52:21 mythtv3 pulseaudio[8409]: module-rtp-recv.c: Write index devi

ates by 479.95 ms, expected 500.00 ms

Feb 2 17:52:21 mythtv3 pulseaudio[8409]: resampler.c: Assertion 'r->impl_upd

ate_rates' failed at pulsecore/resampler.c:338, function pa_resampler_set_input_ rate(). Aborting.

So, in the call to "pa_resampler_set_input_rate", at least some of the data structures are uninitialized.

The problem is in the sink connection being made from "module-rtp-recv.c", the "PA_SINK_INPUT_VARIABLE_RATE" flag should be passed into "pa_sink_input_new", but is not there.

Made the change and tested it, fixes the problem. Checked and head-of- tree off of the pulseaudio.org source browsing link does not have this fix either.

One-liner patch attached.

Not sure what the etiquitte is about resolving bugs, please feel free to point out that I shouldn't change the bug states to "worksforme". I'll do the Right Thing next time.

  Changed 3 years ago by erich

Sorry, the formatting of the message was messed up a bit with some broken lines, I glossed over the WikiFormatting stuff.

  Changed 3 years ago by erich

  • status changed from closed to reopened
  • resolution worksforme deleted

Oops, I incorrectly marked it as "worksforme", as I didn't understand it meant that no fix was necessary. The attached patch is the required fix.

Lennart, could you apply the fix? I don't think I have repository write access.

  Changed 3 years ago by lennart

  • status changed from reopened to closed
  • resolution set to fixed
  • milestone set to 0.9.15

This fix has been applied a while ago.

Note: See TracTickets for help on using tickets.