[Bug 493181] [NEW] ardour2 crash by SIGSEV in freeaddrinfo (from liblo)
Yvon TANGUY
vono22 at yahoo.fr
Sun Dec 6 14:48:16 UTC 2009
Public bug reported:
----------------------------------------------------
Description: Ubuntu 9.10
Release: 9.10
Arch: AMD64 (Intel i7 920)
uname -a:
Linux vono-fixe 2.6.31-16-generic #52-Ubuntu SMP Thu Dec 3 22:07:16 UTC 2009 x86_64 GNU/Linux
root at vono-fixe:~# apt-cache policy ardour
ardour:
Installé : 1:2.8.2-0ubuntu1
Candidat : 1:2.8.2-0ubuntu1
Table de version :
*** 1:2.8.2-0ubuntu1 0
500 http://fr.archive.ubuntu.com karmic/universe Packages
100 /var/lib/dpkg/status
root at vono-fixe:~# apt-cache policy liblo0ldbl
liblo0ldbl:
Installé : 0.23-2.2
Candidat : 0.23-2.2
Table de version :
*** 0.23-2.2 0
500 http://fr.archive.ubuntu.com karmic/universe Packages
100 /var/lib/dpkg/status
----------------------------------------------------
I've install ardour2 to test it, but it always crash with a Segmentation
fault (SIGSEV).
here the reproduction step:
- launch ardour2
- in the session manager dialog box, type a session name, eventualy chosse a directory.
- Click on the new button
--> Crash
----------------------------------------------------
vono at vono-fixe:~/.dbus/session-bus$ export LANG=C
vono at vono-fixe:~/.dbus/session-bus$ ardour2
[...]
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
SSE2 detected
loading bindings from /etc/ardour2/mnemonic-us.bindings
Loading session /home/vono/tmp/test using snapshot test (1)
Segmentation fault
vono at vono-fixe:~/.dbus/session-bus$ subgraph starting at ardour timed out (subgraph_wait_fd=12, status = 0, state = Triggered, pollret = 0 revents = 0x0)
**** alsa_pcm: xrun of at least 480.649 msecs
----------------------------------------------------
Since I've not the traditional ubuntu bug reporting launch when it
crash, i tried to manually discover what's wrong.
After installing debugs packages, I've this stacktrace in gdb:
(gdb) backtrace
#0 *__GI_freeaddrinfo (ai=0x5) at ../sysdeps/posix/getaddrinfo.c:2392
#1 0x00007fffef71cca5 in ?? () from /usr/lib/liblo.so.0
#2 0x00007fffef71cf2a in lo_send_message_from () from /usr/lib/liblo.so.0
#3 0x00007fffef71d053 in lo_send_internal () from /usr/lib/liblo.so.0
#4 0x00007ffff7b02313 in ARDOUR::OSC::session_loaded (this=0x13a12b0, s=...) at libs/ardour/osc.cc:429
#5 0x00007ffff7b02191 in ARDOUR::OSC::set_session (this=0x13a12b0, s=...) at libs/ardour/osc.cc:415
#6 0x00007ffff7a5cae1 in ARDOUR::Session::when_engine_running (this=0x7fffe00a0d90) at libs/ardour/session.cc:913
#7 0x00007ffff7abae4f in ARDOUR::Session::second_stage_init (this=0x7fffe00a0d90, new_session=false)
at libs/ardour/session_state.cc:317
#8 0x00007ffff7a5175f in Session (this=0x7fffe00a0d90, eng=..., fullpath=..., snapshot_name=..., mix_template=...)
at libs/ardour/session.cc:320
#9 0x000000000082c734 in ARDOUR_UI::load_session (this=0x10ff540, path=..., snap_name=..., mix_template=...)
at gtk2_ardour/ardour_ui.cc:2482
#10 0x000000000082c17e in ARDOUR_UI::get_session_parameters (this=0x10ff540, backend_audio_is_running=true,
should_be_new=true) at gtk2_ardour/ardour_ui.cc:2411
#11 0x000000000082383c in ARDOUR_UI::startup (this=0x10ff540) at gtk2_ardour/ardour_ui.cc:654
#12 0x000000000084426a in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator() (this=0x131fe88)
at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#13 0x0000000000842d1c in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR_UI> >::operator() (this=0x131fe80)
at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#14 0x0000000000840bb4 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR_UI>, void>::call_it (
rep=0x131fe50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#15 0x00000000008336ac in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x131ce90)
at /usr/include/sigc++-2.0/sigc++/signal.h:548
#16 0x0000000000839f4c in sigc::signal0<void, sigc::nil>::emit (this=0x10ff5c8)
at /usr/include/sigc++-2.0/sigc++/signal.h:1706
#17 0x0000000000837322 in sigc::signal0<void, sigc::nil>::operator() (this=0x10ff5c8)
at /usr/include/sigc++-2.0/sigc++/signal.h:1710
#18 0x00007ffff2b6ff84 in Gtkmm2ext::UI::run (this=0x10ff540, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:224
#19 0x0000000000b2055b in main (argc=1, argv=0x7fffffffe338) at gtk2_ardour/main.cc:346
The problem seems to come from "liblo-0.23/src/send.c" source file.
The "static int resolve_address(lo_address a)" does not initialize the "ai" pointer:
struct addrinfo *ai; // line 362
then when calling "ret = getaddrinfo(a->host, a->port, &hints, &ai)" //
line 373, the getaddrinfo call the function freeaddrinfo, with maybe an
uninitialized pointer.
I've juste replace the line 362 with;
struct addrinfo *ai = NULL;
recompile, update my LD_LIBRARY_PATH env var, and relaunch ardour. It
work !
-----------------------------------------
Note: I hope it is a valid bug report, since i do not know really how to do it.
I've not provide a patch/diff file, but I can if you prefer.
** Affects: liblo (Ubuntu)
Importance: Undecided
Status: New
** Description changed:
-
----------------------------------------------------
Description: Ubuntu 9.10
Release: 9.10
Arch: AMD64 (Intel i7 920)
uname -a:
Linux vono-fixe 2.6.31-16-generic #52-Ubuntu SMP Thu Dec 3 22:07:16 UTC 2009 x86_64 GNU/Linux
root at vono-fixe:~# apt-cache policy ardour
ardour:
- Installé : 1:2.8.2-0ubuntu1
- Candidat : 1:2.8.2-0ubuntu1
- Table de version :
- *** 1:2.8.2-0ubuntu1 0
- 500 http://fr.archive.ubuntu.com karmic/universe Packages
- 100 /var/lib/dpkg/status
+ Installé : 1:2.8.2-0ubuntu1
+ Candidat : 1:2.8.2-0ubuntu1
+ Table de version :
+ *** 1:2.8.2-0ubuntu1 0
+ 500 http://fr.archive.ubuntu.com karmic/universe Packages
+ 100 /var/lib/dpkg/status
- root at vono-fixe:~# apt-cache policy liblo0ldbl
+ root at vono-fixe:~# apt-cache policy liblo0ldbl
liblo0ldbl:
- Installé : 0.23-2.2
- Candidat : 0.23-2.2
- Table de version :
- *** 0.23-2.2 0
- 500 http://fr.archive.ubuntu.com karmic/universe Packages
- 100 /var/lib/dpkg/status
-
+ Installé : 0.23-2.2
+ Candidat : 0.23-2.2
+ Table de version :
+ *** 0.23-2.2 0
+ 500 http://fr.archive.ubuntu.com karmic/universe Packages
+ 100 /var/lib/dpkg/status
----------------------------------------------------
I've install ardour2 to test it, but it always crash with a Segmentation
fault (SIGSEV).
here the reproduction step:
- launch ardour2
- in the session manager dialog box, type a session name, eventualy chosse a directory.
- Click on the new button
--> Crash
----------------------------------------------------
vono at vono-fixe:~/.dbus/session-bus$ export LANG=C
vono at vono-fixe:~/.dbus/session-bus$ ardour2
[...]
ALSA: final selected sample format for capture: 32bit integer little-endian
ALSA: use 2 periods for capture
ALSA: final selected sample format for playback: 32bit integer little-endian
ALSA: use 2 periods for playback
SSE2 detected
loading bindings from /etc/ardour2/mnemonic-us.bindings
Loading session /home/vono/tmp/test using snapshot test (1)
Segmentation fault
vono at vono-fixe:~/.dbus/session-bus$ subgraph starting at ardour timed out (subgraph_wait_fd=12, status = 0, state = Triggered, pollret = 0 revents = 0x0)
-
**** alsa_pcm: xrun of at least 480.649 msecs
-
----------------------------------------------------
Since I've not the traditional ubuntu bug reporting launch when it
crash, i tried to manually discover what's wrong.
After installing debugs packages, I've this stacktrace in gdb:
(gdb) backtrace
#0 *__GI_freeaddrinfo (ai=0x5) at ../sysdeps/posix/getaddrinfo.c:2392
#1 0x00007fffef71cca5 in ?? () from /usr/lib/liblo.so.0
#2 0x00007fffef71cf2a in lo_send_message_from () from /usr/lib/liblo.so.0
#3 0x00007fffef71d053 in lo_send_internal () from /usr/lib/liblo.so.0
#4 0x00007ffff7b02313 in ARDOUR::OSC::session_loaded (this=0x13a12b0, s=...) at libs/ardour/osc.cc:429
#5 0x00007ffff7b02191 in ARDOUR::OSC::set_session (this=0x13a12b0, s=...) at libs/ardour/osc.cc:415
#6 0x00007ffff7a5cae1 in ARDOUR::Session::when_engine_running (this=0x7fffe00a0d90) at libs/ardour/session.cc:913
#7 0x00007ffff7abae4f in ARDOUR::Session::second_stage_init (this=0x7fffe00a0d90, new_session=false)
- at libs/ardour/session_state.cc:317
+ at libs/ardour/session_state.cc:317
#8 0x00007ffff7a5175f in Session (this=0x7fffe00a0d90, eng=..., fullpath=..., snapshot_name=..., mix_template=...)
- at libs/ardour/session.cc:320
+ at libs/ardour/session.cc:320
#9 0x000000000082c734 in ARDOUR_UI::load_session (this=0x10ff540, path=..., snap_name=..., mix_template=...)
- at gtk2_ardour/ardour_ui.cc:2482
- #10 0x000000000082c17e in ARDOUR_UI::get_session_parameters (this=0x10ff540, backend_audio_is_running=true,
- should_be_new=true) at gtk2_ardour/ardour_ui.cc:2411
+ at gtk2_ardour/ardour_ui.cc:2482
+ #10 0x000000000082c17e in ARDOUR_UI::get_session_parameters (this=0x10ff540, backend_audio_is_running=true,
+ should_be_new=true) at gtk2_ardour/ardour_ui.cc:2411
#11 0x000000000082383c in ARDOUR_UI::startup (this=0x10ff540) at gtk2_ardour/ardour_ui.cc:654
#12 0x000000000084426a in sigc::bound_mem_functor0<void, ARDOUR_UI>::operator() (this=0x131fe88)
- at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
+ at /usr/include/sigc++-2.0/sigc++/functors/mem_fun.h:1787
#13 0x0000000000842d1c in sigc::adaptor_functor<sigc::bound_mem_functor0<void, ARDOUR_UI> >::operator() (this=0x131fe80)
- at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
+ at /usr/include/sigc++-2.0/sigc++/adaptors/adaptor_trait.h:251
#14 0x0000000000840bb4 in sigc::internal::slot_call0<sigc::bound_mem_functor0<void, ARDOUR_UI>, void>::call_it (
- rep=0x131fe50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
+ rep=0x131fe50) at /usr/include/sigc++-2.0/sigc++/functors/slot.h:103
#15 0x00000000008336ac in sigc::internal::signal_emit0<void, sigc::nil>::emit (impl=0x131ce90)
- at /usr/include/sigc++-2.0/sigc++/signal.h:548
+ at /usr/include/sigc++-2.0/sigc++/signal.h:548
#16 0x0000000000839f4c in sigc::signal0<void, sigc::nil>::emit (this=0x10ff5c8)
- at /usr/include/sigc++-2.0/sigc++/signal.h:1706
+ at /usr/include/sigc++-2.0/sigc++/signal.h:1706
#17 0x0000000000837322 in sigc::signal0<void, sigc::nil>::operator() (this=0x10ff5c8)
- at /usr/include/sigc++-2.0/sigc++/signal.h:1710
+ at /usr/include/sigc++-2.0/sigc++/signal.h:1710
#18 0x00007ffff2b6ff84 in Gtkmm2ext::UI::run (this=0x10ff540, old_receiver=...) at libs/gtkmm2ext/gtk_ui.cc:224
#19 0x0000000000b2055b in main (argc=1, argv=0x7fffffffe338) at gtk2_ardour/main.cc:346
-
The problem seems to come from "liblo-0.23/src/send.c" source file.
The "static int resolve_address(lo_address a)" does not initialize the "ai" pointer:
- struct addrinfo *ai; // line 362
+ struct addrinfo *ai; // line 362
then when calling "ret = getaddrinfo(a->host, a->port, &hints, &ai)" //
line 373, the getaddrinfo call the function freeaddrinfo, with maybe an
uninitialized pointer.
I've juste replace the line 362 with;
- struct addrinfo *ai = NULL;
+ struct addrinfo *ai = NULL;
recompile, update my LD_LIBRARY_PATH env var, and relaunch ardour. It
work !
-----------------------------------------
Note: I hope it is a valid bug report, since i do not know really how to do it.
- I've not provide a patch/diff file, but a can if you prefer.
+ I've not provide a patch/diff file, but I can if you prefer.
--
ardour2 crash by SIGSEV in freeaddrinfo (from liblo)
https://bugs.launchpad.net/bugs/493181
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
--
ubuntu-bugs mailing list
ubuntu-bugs at lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
More information about the universe-bugs
mailing list