GNOME Bugzilla – Bug 597653
[udpsrc] crash if getaddrinfo fails
Last modified: 2009-10-07 14:22:01 UTC
Created attachment 144932 [details] This playlist causes Totem to crash Right after opening the playlist, it crashes with this output: [adam@a04-0717b Plocha]$ totem Net\ TV.m3u *** glibc detected *** totem: free(): invalid pointer: 0x00000000022994a0 *** ======= Backtrace: ========= /lib64/libc.so.6[0x3af2675a96] /lib64/libc.so.6(freeaddrinfo+0x28)[0x3af26c5b28] /usr/lib64/gstreamer-0.10/libgstudp.so[0x7fc9ae32a82e] /usr/lib64/gstreamer-0.10/libgstudp.so[0x7fc9ae325336] /usr/lib64/libgstbase-0.10.so.0[0x3b05e175d1] /usr/lib64/libgstbase-0.10.so.0[0x3b05e1d678] /usr/lib64/libgstreamer-0.10.so.0(gst_pad_activate_push+0x16b)[0x3b0565f14b] /usr/lib64/libgstreamer-0.10.so.0(gst_pad_set_active+0x107)[0x3b0565fcf7] /usr/lib64/libgstreamer-0.10.so.0[0x3b05641c3b] /usr/lib64/libgstreamer-0.10.so.0(gst_iterator_fold+0x8e)[0x3b05652e4e] /usr/lib64/libgstreamer-0.10.so.0[0x3b05641ba6] /usr/lib64/libgstreamer-0.10.so.0[0x3b05643f3f] /usr/lib64/libgstreamer-0.10.so.0[0x3b0564610f] /usr/lib64/libgstbase-0.10.so.0[0x3b05e1c2a4] /usr/lib64/libgstreamer-0.10.so.0(gst_element_change_state+0x2c)[0x3b05642cdc] /usr/lib64/libgstreamer-0.10.so.0(gst_element_change_state+0xaf)[0x3b05642d5f] /usr/lib64/libgstreamer-0.10.so.0[0x3b05645de8] /usr/lib64/libgstreamer-0.10.so.0[0x3b05632b61] /usr/lib64/libgstreamer-0.10.so.0[0x3b05665179] /usr/lib64/gstreamer-0.10/libgstplaybin.so[0x7fc9b6fe87ad] /usr/lib64/gstreamer-0.10/libgstplaybin.so[0x7fc9b6fd50cf] /usr/lib64/libgstreamer-0.10.so.0(gst_element_change_state+0x2c)[0x3b05642cdc] /usr/lib64/libgstreamer-0.10.so.0(gst_element_change_state+0xaf)[0x3b05642d5f] /usr/lib64/libgstreamer-0.10.so.0[0x3b05645de8] /usr/lib64/libbaconvideowidget.so.0(bacon_video_widget_open_with_subtitle+0x35f)[0x372e21834f] totem(totem_action_set_mrl_with_warning+0x9e)[0x41ccfe] totem(totem_action_set_mrl_and_play+0x9)[0x41d269] totem(totem_action_play_pause+0xa1)[0x41e5c1] totem(main+0x4f8)[0x419cb8] /lib64/libc.so.6(__libc_start_main+0xfd)[0x3af261ea2d] totem[0x4196f9] ======= Memory map: ======== 00400000-0044e000 r-xp 00000000 08:06 47672 /usr/bin/totem 0064d000-00652000 rw-p 0004d000 08:06 47672 /usr/bin/totem 01e9d000-0244b000 rw-p 00000000 00:00 0 [heap] 372de00000-372de9e000 r-xp 00000000 08:06 91067 /usr/lib64/libgnutls.so.26.11.7 372de9e000-372e09e000 ---p 0009e000 08:06 91067 /usr/lib64/libgnutls.so.26.11.7 372e09e000-372e0a9000 rw-p 0009e000 08:06 91067 /usr/lib64/libgnutls.so.26.11.7 372e200000-372e221000 r-xp 00000000 08:06 84868 /usr/lib64/libbaconvideowidget-gstreamer.so.0.0.0 372e221000-372e420000 ---p 00021000 08:06 84868 /usr/lib64/libbaconvideowidget-gstreamer.so.0.0.0 372e420000-372e422000 rw-p 00020000 08:06 84868 /usr/lib64/libbaconvideowidget-gstreamer.so.0.0.0 372ee00000-372ee4a000 r-xp 00000000 08:06 91068 /usr/lib64/libsoup-2.4.so.1.2.0 372ee4a000-372f04a000 ---p 0004a000 08:06 91068 /usr/lib64/libsoup-2.4.so.1.2.0 372f04a000-372f04d000 rw-p 0004a000 08:06 91068 /usr/lib64/libsoup-2.4.so.1.2.0 3af2200000-3af221f000 r-xp 00000000 08:06 84331 /lib64/ld-2.10.1.so 3af241e000-3af241f000 r--p 0001e000 08:06 84331 /lib64/ld-2.10.1.so 3af241f000-3af2420000 rw-p 0001f000 08:06 84331 /lib64/ld-2.10.1.so 3af2600000-3af2764000 r-xp 00000000 08:06 84332 /lib64/libc-2.10.1.so 3af2764000-3af2964000 ---p 00164000 08:06 84332 /lib64/libc-2.10.1.so 3af2964000-3af2968000 r--p 00164000 08:06 84332 /lib64/libc-2.10.1.so 3af2968000-3af2969000 rw-p 00168000 08:06 84332 /lib64/libc-2.10.1.so 3af2969000-3af296e000 rw-p 00000000 00:00 0 3af2a00000-3af2a82000 r-xp 00000000 08:06 4584 /lib64/libm-2.10.1.so 3af2a82000-3af2c82000 ---p 00082000 08:06 4584 /lib64/libm-2.10.1.so 3af2c82000-3af2c83000 r--p 00082000 08:06 4584 /lib64/libm-2.10.1.so 3af2c83000-3af2c84000 rw-p 00083000 08:06 4584 /lib64/libm-2.10.1.so 3af2e00000-3af2e02000 r-xp 00000000 08:06 84347 /lib64/libdl-2.10.1.so 3af2e02000-3af3002000 ---p 00002000 08:06 84347 /lib64/libdl-2.10.1.so 3af3002000-3af3003000 r--p 00002000 08:06 84347 /lib64/libdl-2.10.1.so 3af3003000-3af3004000 rw-p 00003000 08:06 84347 /lib64/libdl-2.10.1.so 3af3200000-3af3217000 r-xp 00000000 08:06 84335 /lib64/libpthread-2.10.1.so 3af3217000-3af3416000 ---p 00017000 08:06 84335 /lib64/libpthread-2.10.1.so 3af3416000-3af3417000 r--p 00016000 08:06 84335 /lib64/libpthread-2.10.1.so 3af3417000-3af3418000 rw-p 00017000 08:06 84335 /lib64/libpthread-2.10.1.so 3af3418000-3af341c000 rw-p 00000000 00:00 0 3af3600000-3af36dd000 r-xp 00000000 08:06 7410 /lib64/libglib-2.0.so.0.2000.5 3af36dd000-3af38dc000 ---p 000dd000 08:06 7410 /lib64/libglib-2.0.so.0.2000.5 3af38dc000-3af38de000 rw-p 000dc000 08:06 7410 /lib64/libglib-2.0.so.0.2000.5 3af3a00000-3af3a1c000 r-xp 00000000 08:06 84363 /lib64/libselinux.so.1 3af3a1c000-3af3c1b000 ---p 0001c000 08:06 84363 /lib64/libselinux.so.1 3af3c1b000-3af3c1c000 r--p 0001b000 08:06 84363 /lib64/libselinux.so.1 3af3c1c000-3af3c1d000 rw-p 0001c000 08:06 84363 /lib64/libselinux.so.1 3af3c1d000-3af3c1e000 rw-p 00000000 00:00 0 3af3e00000-3af3e15000 r-xp 00000000 08:06 84343 /lib64/libz.so.1.2.3 3af3e15000-3af4014000 ---p 00015000 08:06 84343 /lib64/libz.so.1.2.3 3af4014000-3af4015000 rw-p 00014000 08:06 84343 /lib64/libz.so.1.2.3 3af4200000-3af4207000 r-xp 00000000 08:06 84336 /lib64/librt-2.10.1.so 3af4207000-3af4406000 ---p 00007000 08:06 84336 /lib64/librt-2.10.1.so 3af4406000-3af4407000 r--p 00006000 08:06 84336 /lib64/librt-2.10.1.so 3af4407000-3af4408000 rw-p 00007000 08:06 84336 /lib64/librt-2.10.1.so 3af4600000-3af4641000 r-xp 00000000 08:06 84334 /lib64/libgobject-2.0.so.0.2000.5 3af4641000-3af4841000 ---p 00041000 08:06 84334 /lib64/libgobject-2.0.so.0.2000.5 3af4841000-3af4843000 rw-p 00041000 08:06 84334 /lib64/libgobject-2.0.so.0.2000.5 3af4a00000-3af4a03000 r-xp 00000000 08:06 84351 /lib64/libgmodule-2.0.so.0.2000.5 3af4a03000-3af4c02000 ---p 00003000 08:06 84351 /lib64/libgmodule-2.0.so.0.2000.5 3af4c02000-3af4c03000 rw-p 00002000 08:06 84351 /lib64/libgmodule-2.0.so.0.2000.5 3af4e00000-3af4e02000 r-xp 00000000 08:06 84345 /usr/lib64/libXau.so.6.0.0 3af4e02000-3af5001000 ---p 00002000 08:06 84345 /usr/lib64/libXau.so.6.0.0 3af5001000-3af5002000 rw-p 00001000 08:06 84345 /usr/lib64/libXau.so.6.0.0 3af5200000-3af5204000 r-xp 00000000 08:06 84337 /lib64/libgthread-2.0.so.0.2000.5 3af5204000-3af5403000 ---p 00004000 08:06 84337 /lib64/libgthread-2.0.so.0.2000.5 3af5403000-3af5404000 rw-p 00003000 08:06 84337 /lib64/libgthread-2.0.so.0.2000.5 3af5600000-3af561a000 r-xp 00000000 08:06 84346 /usr/lib64/libxcb.so.1.1.0 3af561a000-3af581a000 ---p 0001a000 08:06 84346 /usr/lib64/libxcb.so.1.1.0 3af581a000-3af581b000 rw-p 0001a000 08:06 84346 /usr/lib64/libxcb.so.1.1.0 3af5a00000-3af5b34000 r-xp 00000000 08:06 84348 /usr/lib64/libX11.so.6.2.0 3af5b34000-3af5d33000 ---p 00134000 08:06 84348 /usr/lib64/libX11.so.6.2.0 3af5d33000-3af5d39000 rw-p 00133000 08:06 84348 /usr/lib64/libX11.so.6.2.0 3af5e00000-3af5e75000 r-xp 00000000 08:06 84364 /lib64/libgio-2.0.so.0.2000.5 3af5e75000-3af6075000 ---p 00075000 08:06 84364 /lib64/libgio-2.0.so.0.2000.5 3af6075000-3af6077000 rw-p 00075000 08:06 84364 /lib64/libgio-2.0.so.0.2000.5 3af6077000-3af6078000 rw-p 00000000 00:00 0 3af6200000-3af6226000 r-xp 00000000 08:06 84341 /lib64/libexpat.so.1.5.2 3af6226000-3af6425000 ---p 00026000 08:06 84341 /lib64/libexpat.so.1.5.2 3af6425000-3af6428000 rw-p 00025000 08:06 84341 /lib64/libexpat.so.1.5.2 3af6600000-3af6611000 r-xp 00000000[adam@a04-0717b Plocha]$ I'm using Fedora 11 x86_64 up to date. Totem is in 2.26.3 version and GStreamer is 0.10.24.
Thanks for taking the time to report this bug. Unfortunately, that stack trace is missing some elements that will help a lot to solve the problem, so it will be hard for the developers to fix that crash. Can you get us a stack trace with debugging symbols? Please see http://live.gnome.org/GettingTraces for more information on how to do so and reopen this bug. Thanks in advance!
I installed debuginfo for totem and now after opening the playlist file, BugBuddy started and here is the info from it: Distribution: Fedora release 11 (Leonidas) Gnome Release: 2.26.3 2009-07-07 (Red Hat, Inc) BugBuddy Version: 2.26.0 System: Linux 2.6.30.8-64.fc11.x86_64 #1 SMP Fri Sep 25 04:43:32 EDT 2009 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10603901 Selinux: Enforcing Accessibility: Disabled GTK+ Theme: Nodoka Icon Theme: Fedora GTK+ Modules: canberra-gtk-module, pk-gtk-module, gnomebreakpad Memory status: size: 502980608 vsize: 502980608 resident: 24367104 share: 15249408 rss: 24367104 rss_rlim: 18446744073709551615 CPU usage: start_time: 1254908490 rtime: 25 utime: 21 stime: 4 cutime:0 cstime: 0 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/totem' [?1034h[Thread debugging using libthread_db enabled] [New Thread 0x7f6beffff910 (LWP 10866)] [New Thread 0x7f6bf5a64910 (LWP 10865)] 0x0000003af320ea2d in __libc_waitpid (pid=10867, stat_loc=<value optimized out>, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41 41 int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL); Current language: auto; currently minimal
+ Trace 218126
Thread 1 (Thread 0x7f6bfde87800 (LWP 10863))
----------- .xsession-errors (215 sec old) --------------------- QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 [????????] x11 video output error: X11 request 42.0 failed with error code 8: BadMatch (invalid parameter attributes) QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 QPainter::begin: Paint device returned engine == 0, type: 1 [????????] x11 video output error: X11 request 42.0 failed with error code 8: BadMatch (invalid parameter attributes) QPainter::begin: Paint device returned engine == 0, type: 1 --------------------------------------------------
Which version of GStreamer are you using? You'll want to update your gstreamer and gstreamer-plugins-base packages in updates-testing in F11.
Updated versions of GStreamer: ==================================================================================================================== Package Arch Version Repository Size ==================================================================================================================== Updating: gstreamer x86_64 0.10.25-1.fc11 updates-testing 883 k gstreamer-plugins-base x86_64 0.10.25-1.fc11 updates-testing 1.1 M Updating for dependencies: gstreamer-tools x86_64 0.10.25-1.fc11 updates-testing 23 k I think it's the same as before, but just for sure(totem behaves still the same): Distribution: Fedora release 11 (Leonidas) Gnome Release: 2.26.3 2009-07-07 (Red Hat, Inc) BugBuddy Version: 2.26.0 System: Linux 2.6.30.8-64.fc11.x86_64 #1 SMP Fri Sep 25 04:43:32 EDT 2009 x86_64 X Vendor: The X.Org Foundation X Vendor Release: 10603901 Selinux: Enforcing Accessibility: Disabled GTK+ Theme: Nodoka Icon Theme: Fedora GTK+ Modules: canberra-gtk-module, pk-gtk-module, gnomebreakpad Memory status: size: 503083008 vsize: 503083008 resident: 24449024 share: 15294464 rss: 24449024 rss_rlim: 18446744073709551615 CPU usage: start_time: 1254909765 rtime: 23 utime: 19 stime: 4 cutime:3 cstime: 6 timeout: 0 it_real_value: 0 frequency: 100 Backtrace was generated from '/usr/bin/totem' [Thread debugging using libthread_db enabled] [New Thread 0x7f225a96f910 (LWP 11189)] [New Thread 0x7f225bdc4910 (LWP 11188)] 0x0000003af320ea2d in __libc_waitpid (pid=11190, stat_loc=<value optimized out>, options=0) at ../sysdeps/unix/sysv/linux/waitpid.c:41 41 int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL); Current language: auto; currently minimal
+ Trace 218127
Thread 1 (Thread 0x7f22641e8800 (LWP 11186))
----------- .xsession-errors --------------------- warning: the debug information found in "/usr/lib/debug/usr/lib64/gstreamer-0.10/libgstcoreelements.so.debug" does not match "/usr/lib64/gstreamer-0.10/libgstcoreelements.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/gstreamer-0.10/libgstxvimagesink.so.debug" does not match "/usr/lib64/gstreamer-0.10/libgstxvimagesink.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/gstreamer-0.10/libgstxvimagesink.so.debug" does not match "/usr/lib64/gstreamer-0.10/libgstxvimagesink.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug//usr/lib64/gstreamer-0.10/libgstdecodebin.so.debug" does not match "/usr/lib64/gstreamer-0.10/libgstdecodebin.so" (CRC mismatch). warning: the debug information found in "/usr/lib/debug/usr/lib64/gstreamer-0.10/libgstdecodebin.so.debug" does not match "/usr/lib64/gstreamer-0.10/libgstdecodebin.so" (CRC mismatch). --------------------------------------------------
The UDP plugin lives in gst-plugins-good, which will soon be updated in F11. Please test when it becomes available.
This is fixed in gst-plugins-good 0.10.16: commit 8f43709e00c7cfcac3e54f986141982793dd5d55 Author: Wim Taymans <wim.taymans@collabora.co.uk> Date: Thu Jun 18 11:54:22 2009 +0200 udputils: don't free invalid memory As spotted by benjiG in IRC. don't free invalid memory when getaddrinfo failed.
Thanks Tim, builds are here for F11: http://koji.fedoraproject.org/koji/buildinfo?buildID=135450
Thanks for the link. Well, now Totem doesn't crash, but it still cannot play anything from the playlist. I have Slovak localized version of Totem, so i will only try to translate what it says now: "An error occured Couldn't get/change settings of the source. " I'm not quite sure what's the problem, but VLC plays the playlist just fine.
If something like: gst-launch playbin uri="udp://@239.255.11.1:1234" or: gst-launch playbin2 uri="udp://@239.255.11.1:1234" works, then please file a new bug against Totem. Otherwise, please file a new bug against gst-plugins-good here.