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

r...@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

r...@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

----------------------------------------------------
v...@vono-fixe:~/.dbus/session-bus$ export LANG=C
v...@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
v...@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
  
  r...@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
  
- r...@vono-fixe:~# apt-cache policy liblo0ldbl 
+ r...@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
  
  ----------------------------------------------------
  v...@vono-fixe:~/.dbus/session-bus$ export LANG=C
  v...@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
  v...@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@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to