[pulseaudio-tickets] [PulseAudio] #225: Deadlock/crash in flashsupport closing stream

PulseAudio trac-noreply at tango.0pointer.de
Sat Jan 26 18:15:53 PST 2008


#225: Deadlock/crash in flashsupport closing stream
------------------------------+---------------------------------------------
  Reporter:  ed at catmur.co.uk  |       Owner:  lennart
      Type:  defect           |      Status:  new    
  Priority:  normal           |   Milestone:         
 Component:  core             |    Severity:  normal 
Resolution:                   |    Keywords:         
------------------------------+---------------------------------------------
Comment (by ed at catmur.co.uk):

 It was supposed to be, but I'm still getting crashes:
 {{{
 Thread 8 (Thread 0xb59f6b90 (LWP 11322)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb74c07b7 in *__GI___poll (fds=0xb59f60b8, nfds=1, timeout=-1)
     at ../sysdeps/unix/sysv/linux/poll.c:87
         resultvar = <value optimized out>
         oldtype = 0
         result = <value optimized out>
 #2  0xb7f3fc8b in PR_Poll (pds=0x83a91f0, npds=1, timeout=4294967295)
     at mozilla/nsprpub/pr/src/pthreads/ptio.c:3877
 No locals.
 #3  0xb5a9d0ed in nsSocketTransportService::Poll (this=0x83a8d08,
     interval=0xb59f6338) at nsSocketTransportService2.cpp:361
         pollList = (PRPollDesc *) 0x83a91f0
         pollCount = 1
         pollTimeout = 4294967295
         ts = 3076235203
         rv = <value optimized out>
         passedInterval = <value optimized out>
 #4  0xb5a9d8ba in nsSocketTransportService::Run (this=0x83a8d08)
     at nsSocketTransportService2.cpp:578
         pollInterval = 15
         n = 1
         i = -1
         active = 1
 #5  0xb73d1d37 in nsThread::Main (arg=0x83a9490) at nsThread.cpp:118
 No locals.
 #6  0xb7f44a97 in _pt_root (arg=0x83a9510)
     at mozilla/nsprpub/pr/src/pthreads/ptthread.c:220
         detached = 0
 #7  0xb767617b in start_thread (arg=0xb59f6b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xb59f6b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1247845240, -1413874731, 1539050448}, mask_was_saved = 0}}, priv
 = {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #8  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 7 (Thread 0xb3249b90 (LWP 11323)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767a805 in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib/libpthread.so.0
 No symbol table info available.
 #2  0xb7f3d242 in PR_WaitCondVar (cvar=0x8305f00, timeout=4294967295)
     at mozilla/nsprpub/pr/src/pthreads/ptsynch.c:405
         rv = <value optimized out>
         thred = (PRThread *) 0x8dd7d78
 #3  0xb73d3ede in TimerThread::Run (this=0x83173d0) at TimerThread.cpp:318
         waitFor = <value optimized out>
 #4  0xb73d1d37 in nsThread::Main (arg=0x8dcf128) at nsThread.cpp:118
 No locals.
 #5  0xb7f44a97 in _pt_root (arg=0x8dd7d78)
     at mozilla/nsprpub/pr/src/pthreads/ptthread.c:220
         detached = 0
 #6  0xb767617b in start_thread (arg=0xb3249b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xb3249b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1289448312, -598082600, 1539050448}, mask_was_saved = 0}}, priv =
 {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #7  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 6 (Thread 0xb0f78b90 (LWP 11343)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767a805 in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib/libpthread.so.0
 No symbol table info available.
 #2  0xb7f3d242 in PR_WaitCondVar (cvar=0x9bd9728, timeout=4294967295)
     at mozilla/nsprpub/pr/src/pthreads/ptsynch.c:405
         rv = <value optimized out>
         thred = (PRThread *) 0x99c3078
 #3  0xaf5e45df in nsSSLThread::Run (this=0x8d83468) at nsSSLThread.cpp:904
         pending_work = <value optimized out>
         busy_socket_ssl_state = nsSSLSocketThreadData::ssl_reading_done
         socketToDestroy = (class nsNSSSocketInfo *) 0x0
 #4  0xaf5e3cc0 in nsPSMBackgroundThread::nsThreadRunner (arg=0x8d83468)
     at nsPSMBackgroundThread.cpp:44
 No locals.
 #5  0xb7f44a97 in _pt_root (arg=0x99c3078)
     at mozilla/nsprpub/pr/src/pthreads/ptthread.c:220
         detached = 0
 #6  0xb767617b in start_thread (arg=0xb0f78b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xb0f78b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1325955960, 2054814687, 1539050448}, mask_was_saved = 0}}, priv =
 {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #7  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 5 (Thread 0xaff76b90 (LWP 11344)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767a805 in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib/libpthread.so.0
 No symbol table info available.
 #2  0xb7f3d242 in PR_WaitCondVar (cvar=0xa0a98b0, timeout=4294967295)
     at mozilla/nsprpub/pr/src/pthreads/ptsynch.c:405
         rv = <value optimized out>
         thred = (PRThread *) 0x9537198
 #3  0xaf5e5b3f in nsCertVerificationThread::Run (this=0x8dcb920)
     at nsCertVerificationThread.cpp:138
 No locals.
 #4  0xaf5e3cc0 in nsPSMBackgroundThread::nsThreadRunner (arg=0x8dcb920)
     at nsPSMBackgroundThread.cpp:44
 No locals.
 #5  0xb7f44a97 in _pt_root (arg=0x9537198)
     at mozilla/nsprpub/pr/src/pthreads/ptthread.c:220
         detached = 0
 #6  0xb767617b in start_thread (arg=0xaff76b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xaff76b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1342741368, 2075786209, 1539050448}, mask_was_saved = 0}}, priv =
 {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #7  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 4 (Thread 0xb0777b90 (LWP 11120)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767a805 in pthread_cond_wait@@GLIBC_2.3.2 () from
 /lib/libpthread.so.0
 No symbol table info available.
 #2  0xace24728 in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #3  0xacf1ddd8 in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #4  0xace24a7d in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #5  0xb767617b in start_thread (arg=0xb0777b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xb0777b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1334348664, 2073689054, 1539050448}, mask_was_saved = 0}}, priv =
 {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #6  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 3 (Thread 0xaa1e2b90 (LWP 11121)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767c965 in sem_wait@@GLIBC_2.1 () from /lib/libpthread.so.0
 No symbol table info available.
 #2  0xace2e8d8 in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #3  0xb767617b in start_thread (arg=0xaa1e2b90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xaa1e2b90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1440865144, -1455817750, 1539050448}, mask_was_saved = 0}}, priv
 = {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #4  0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 2 (Thread 0xb212fb90 (LWP 11123)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767d199 in __lll_lock_wait () from /lib/libpthread.so.0
 No symbol table info available.
 #2  0xb7678a14 in _L_lock_236 () from /lib/libpthread.so.0
 No symbol table info available.
 #3  0xb767846b in __pthread_mutex_lock (mutex=0xad4b2cd0)
     at pthread_mutex_lock.c:69
         ignore3 = <value optimized out>
         ignore1 = 130
         ignore2 = <value optimized out>
         oldval = <value optimized out>
         retval = <value optimized out>
         __PRETTY_FUNCTION__ = "__pthread_mutex_lock"
 #4  0xace3101c in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #5  0xb36b7ac4 in write_data (p=0xf314828) at flashsupport.c:876
         l = 4096
         length = 6216
         __PRETTY_FUNCTION__ = "write_data"
 #6  0xb34cfc21 in pa_command_request (pd=0x10c40340, command=61,
     tag=4294967295, t=0xdbd8650, userdata=0xf5b83e0) at pulse/stream.c:395
         bytes = 6216
         channel = 0
         __PRETTY_FUNCTION__ = "pa_command_request"
 #7  0xb34e2ed0 in pa_pdispatch_run (pd=0x10c40340, packet=0xdf9de70,
     creds=0xf287368, userdata=0xf5b83e0) at pulsecore/pdispatch.c:241
         tag = 4294967295
         command = 61
         ts = (pa_tagstruct *) 0xdbd8650
         ret = <value optimized out>
         __PRETTY_FUNCTION__ = "pa_pdispatch_run"
         __func__ = "pa_pdispatch_run"
 #8  0xb34c29c9 in pstream_packet_callback (p=0xf2872a0, packet=0xdf9de70,
     creds=0xf287368, userdata=0xf5b83e0) at pulse/context.c:306
         __PRETTY_FUNCTION__ = "pstream_packet_callback"
 #9  0xb34e3d76 in do_something (p=0xf2872a0) at pulsecore/pstream.c:818
         __PRETTY_FUNCTION__ = "do_something"
 #10 0xb34dba31 in callback (m=0xf4bb54c, e=0x11171f08, fd=32,
     f=PA_IO_EVENT_INPUT, userdata=0xfbd0db8) at pulsecore/iochannel.c:121
         io = <value optimized out>
         changed = <value optimized out>
         __PRETTY_FUNCTION__ = "callback"
 #11 0xb34c9daa in pa_mainloop_dispatch (m=0xf4bb508) at
 pulse/mainloop.c:679
         dispatched = 0
         __PRETTY_FUNCTION__ = "pa_mainloop_dispatch"
 #12 0xb34c9f41 in pa_mainloop_iterate (m=0xf4bb508, block=1, retval=0x0)
     at pulse/mainloop.c:922
         r = 1
         __PRETTY_FUNCTION__ = "pa_mainloop_iterate"
 #13 0xb34c9fe4 in pa_mainloop_run (m=0xf4bb508, retval=0x0)
     at pulse/mainloop.c:937
         r = <value optimized out>
 #14 0xb34d3683 in thread (userdata=0xadea5b0) at pulse/thread-
 mainloop.c:91
         mask = {__val = {2147483647, 4294967294,
     4294967295 <repeats 30 times>}}
 #15 0xb34ec139 in internal_thread_func (userdata=0x1030fab8)
     at pulsecore/thread-posix.c:73
         __PRETTY_FUNCTION__ = "internal_thread_func"
 #16 0xb767617b in start_thread (arg=0xb212fb90) at pthread_create.c:297
         __res = <value optimized out>
         __ignore1 = <value optimized out>
         __ignore2 = <value optimized out>
         pd = (struct pthread *) 0xb212fb90
         now = <value optimized out>
         unwind_buf = {cancel_jmp_buf = {{jmp_buf = {-1217896460, 0,
 4001536,
         -1307380600, -1332085798, 1539050448}, mask_was_saved = 0}}, priv
 = {
     pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0,
       canceltype = 0}}}
         not_first_call = 0
         robust = <value optimized out>
 #17 0xb74c9b8e in clone () from /lib/libc.so.6
         fstab_state = {fs_fp = 0x0, fs_buffer = 0x0, fs_mntres = {
     mnt_fsname = 0x0, mnt_dir = 0x0, mnt_type = 0x0, mnt_opts = 0x0,
     mnt_freq = 0, mnt_passno = 0}, fs_ret = {fs_spec = 0x0, fs_file = 0x0,
     fs_vfstype = 0x0, fs_mntops = 0x0, fs_type = 0x0, fs_freq = 0,
     fs_passno = 0}}
         __elf_set___libc_subfreeres_element_fstab_free__ = (
     const void *) 0xb7504d90

 Thread 1 (Thread 0xb60526f0 (LWP 11319)):
 #0  0xffffe410 in __kernel_vsyscall ()
 No symbol table info available.
 #1  0xb767e55b in waitpid () from /lib/libpthread.so.0
 No symbol table info available.
 #2  0xb75c743f in IA__g_spawn_sync (working_directory=0x0, argv=0xe6f5bd8,
     envp=0x0, flags=<value optimized out>, child_setup=0, user_data=0x0,
     standard_output=0x0, standard_error=0x0, exit_status=0x0,
 error=0x82b15b8)
     at gspawn.c:374
         outpipe = -1
         errpipe = -1
         pid = 11124
         fds = {__fds_bits = {-1218281484, 0, 180359240, 137041208,
     -1218801965, 180359240, -1218909296, 0, 136958648, -1243159075,
     1959892117, 0, 0, 5, 0, 0, 962245700, 136858224, -1, 34, -1218281484,
     242179032, 3, 0, 230510288, -1243158784, 1708282130, 0, 0,
 -1219269888,
     -1220080864, 180359240}}
         ret = <value optimized out>
         outstr = (GString *) 0x0
         errstr = (GString *) 0x0
         failed = 0
         status = <value optimized out>
         __PRETTY_FUNCTION__ = "IA__g_spawn_sync"
 #3  0xb75c77ac in IA__g_spawn_command_line_sync (
     command_line=0xe8a4f80 "bug-buddy --appname=\"epiphany\" --pid=11319",
     standard_output=0x0, standard_error=0x0, exit_status=0x0,
 error=0x82b15b8)
     at gspawn.c:682
         retval = 0
         argv = (gchar **) 0xe6f5bd8
         __PRETTY_FUNCTION__ = "IA__g_spawn_command_line_sync"
 #4  0xb5e71200 in run_bug_buddy (appname=0x828d0c8 "epiphany",
     pid=<value optimized out>, minidump_path=<value optimized out>)
     at gnome-breakpad.cc:213
         exec_str = (
     gchar *) 0xe8a4f80 "bug-buddy --appname=\"epiphany\" --pid=11319"
         res = <value optimized out>
         error = (GError *) 0x0
 #5  0xb5e7170f in check_if_gdb (callback_context=0x0) at gnome-
 breakpad.cc:283
         mypath = "/usr/bin/epiphany", '\0' <repeats 237 times>
         gdb = (gchar *) 0xd076298 "/usr/bin/gdb"
         appname = (gchar *) 0x828d0c8 "epiphany"
         pid = 11319
 #6  0xb5e719ee in google_breakpad::ExceptionHandler::InternalWriteMinidump
 (
     this=0xb5e7c2e0, signo=11, sighandler_ebp=137046552,
 sig_ctx=0x82b2a04)
     at ../google-
 breakpad/src/client/linux/handler/exception_handler.cc:225
         guid = {data1 = 3051864800, data2 = 10776, data3 = 2091,
   data4 = "\020���\000\000\000"}
         success = <value optimized out>
         guid_str =
 "\000\005\000\000\000\000\000\000\000U���\000�����\000\000\005\000\000\000��������\v\000\000"
 #7  0xb5e7210b in google_breakpad::ExceptionHandler::HandleException
 (signo=11)
     at ../google-
 breakpad/src/client/linux/handler/exception_handler.cc:196
         current_ebp = 137046552
         current_handler = (google_breakpad::ExceptionHandler *) 0xb5e7c2e0
         sig_ctx = (sigcontext *) 0x0
 #8  <signal handler called>
 No symbol table info available.
 #9  0xace2da80 in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #10 0xab285050 in ?? ()
 No symbol table info available.
 #11 0x0b7f8668 in ?? ()
 No symbol table info available.
 #12 0xab285050 in ?? ()
 No symbol table info available.
 #13 0xad471e20 in ?? () from /opt/netscape/plugins/libflashplayer.so
 No symbol table info available.
 #14 0xab800000 in ?? ()
 No symbol table info available.
 #15 0x00000000 in ?? ()
 No symbol table info available.
 #0  0xffffe410 in __kernel_vsyscall ()
 }}}
 This has:
 {{{
 (gdb) p *p
 $3 = {mainloop = 0xadea5b0, context = 0xf5b83e0, stream = 0xfca09a8,
   buf = '\0' <repeats 4095 times>, thread_id = 2987588496, first = 0,
   signal = 0}
 }}}
 At the seg location:
 {{{
 (gdb) frame 9
 #9  0xace2da80 in ?? () from /opt/netscape/plugins/libflashplayer.so
 (gdb) disass 0xace2da00 0xace2daff
 Dump of assembler code from 0xace2da00 to 0xace2daff:
 0xace2da00:     in     (%dx),%al
 0xace2da01:     add    $0x8b,%al
 0xace2da03:     inc    %ebp
 0xace2da04:     or     %cl,-0x7c74dbfc(%ecx)
 0xace2da0a:     add    %dh,%cl
 0xace2da0c:     (bad)
 0xace2da0d:     (bad)
 0xace2da0e:     call   *(%eax)
 0xace2da10:     add    $0x1d70,%eax
 0xace2da15:     mov    %eax,(%esp)
 0xace2da18:     call   0xacd181fc <sem_post at plt>
 0xace2da1d:     pop    %eax
 0xace2da1e:     pop    %ebx
 0xace2da1f:     pop    %ebp
 0xace2da20:     ret
 0xace2da21:     nop
 0xace2da22:     lea    0x0(%esi),%esi
 0xace2da29:     lea    0x0(%edi),%edi
 0xace2da30:     push   %ebp
 0xace2da31:     mov    %esp,%ebp
 0xace2da33:     push   %edi
 0xace2da34:     push   %esi
 0xace2da35:     push   %ebx
 0xace2da36:     sub    $0xc,%esp
 0xace2da39:     mov    0x8(%ebp),%esi
 0xace2da3c:     call   0xacd190f5 <strcpy at plt+233>
 0xace2da41:     add    $0x6443df,%ebx
 0xace2da47:     mov    0xc(%ebp),%edi
 0xace2da4a:     mov    0x1d64(%esi),%eax
 0xace2da50:     mov    %eax,-0x10(%ebp)
 0xace2da53:     mov    %eax,(%esp)
 0xace2da56:     call   0xacd1840c <pthread_mutex_lock at plt>
 0xace2da5b:     movl   $0x0,0x18(%edi)
 0xace2da62:     movl   $0x0,0x10(%edi)
 0xace2da69:     mov    0x1d80(%esi),%edx
 0xace2da6f:     test   %edx,%edx
 0xace2da71:     je     0xace2da95
 0xace2da73:     lea    0x0(%esi),%esi
 0xace2da79:     lea    0x0(%edi),%edi
 0xace2da80:     mov    0x18(%edx),%eax
 0xace2da83:     test   %eax,%eax
 0xace2da85:     je     0xace2da90
 0xace2da87:     mov    %eax,%edx
 0xace2da89:     jmp    0xace2da80
 0xace2da8b:     nop
 0xace2da8c:     lea    0x0(%esi),%esi
 0xace2da90:     mov    %edi,0x18(%edx)
 0xace2da93:     jmp    0xace2daa0
 0xace2da95:     mov    %edi,0x1d80(%esi)
 0xace2da9b:     nop
 0xace2da9c:     lea    0x0(%esi),%esi
 0xace2daa0:     mov    -0x10(%ebp),%eax
 0xace2daa3:     mov    %eax,(%esp)
 0xace2daa6:     call   0xacd18d9c <pthread_mutex_unlock at plt>
 0xace2daab:     add    $0xc,%esp
 0xace2daae:     pop    %ebx
 0xace2daaf:     pop    %esi
 0xace2dab0:     pop    %edi
 0xace2dab1:     pop    %ebp
 0xace2dab2:     ret
 0xace2dab3:     nop
 0xace2dab4:     lea    0x0(%esi),%esi
 0xace2daba:     lea    0x0(%edi),%edi
 0xace2dac0:     push   %ebp
 0xace2dac1:     mov    %esp,%ebp
 0xace2dac3:     sub    $0x58,%esp
 0xace2dac6:     mov    %edi,-0x4(%ebp)
 0xace2dac9:     mov    0x8(%ebp),%edi
 0xace2dacc:     mov    %ebx,-0xc(%ebp)
 0xace2dacf:     mov    %esi,-0x8(%ebp)
 0xace2dad2:     movl   $0x7a120,-0x18(%ebp)
 0xace2dad9:     movl   $0x4e20,-0x1c(%ebp)
 0xace2dae0:     mov    0x1d40(%edi),%eax
 0xace2dae6:     call   0xacd190f5 <strcpy at plt+233>
 0xace2daeb:     add    $0x644335,%ebx
 0xace2daf1:     test   %eax,%eax
 0xace2daf3:     jne    0xace2df15
 0xace2daf9:     mov    -0x9cc(%ebx),%esi
 End of assembler dump.
 (gdb) info reg
 eax            0x31f0327        52364071
 ecx            0x2c37   11319
 edx            0x31f0327        52364071
 ebx            0xad471e20       -1387848160
 esp            0xbfcebec0       0xbfcebec0
 ebp            0xbfcebed8       0xbfcebed8
 esi            0xab800000       -1417674752
 edi            0xab8019b8       -1417668168
 eip            0xace2da80       0xace2da80
 eflags         0x293    [ CF AF SF IF ]
 cs             0x73     115
 ss             0x7b     123
 ds             0x7b     123
 es             0x7b     123
 fs             0x0      0
 gs             0x33     51
 (gdb) p *(void **)0x31f0327
 Cannot access memory at address 0x31f0327
 }}}

-- 
Ticket URL: <http://www.pulseaudio.org/ticket/225#comment:9>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list