GNOME Bugzilla – Bug 350118
crash on Movie Player
Last modified: 2006-08-15 01:03:47 UTC
What were you doing when the application crashed? I clicked on "Play CDROM 1" from the File menu. After totem crashed, I've been unable to restart it from the terminal. The process starts, but then seems to finish almost immediately. The following is the end of the output from an strace on the process: access("/home/testuser/.gnome2", F_OK) = 0 stat64("/home/testuser/.gnome2", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 open("/tmp", O_RDONLY|O_NONBLOCK|O_LARGEFILE|O_DIRECTORY) = 14 fstat64(14, {st_mode=S_IFDIR|S_ISVTX|0777, st_size=4096, ...}) = 0 fcntl64(14, F_SETFD, FD_CLOEXEC) = 0 getdents64(14, /* 26 entries */, 4096) = 1016 stat64("/tmp/totem.testuser.3969373181", {st_mode=S_IFSOCK|0755, st_size=0, ...}) = 0 geteuid32() = 1001 close(14) = 0 stat64("/tmp/totem.testuser.3969373181", {st_mode=S_IFSOCK|0755, st_size=0, ...}) = 0 socket(PF_FILE, SOCK_STREAM, 0) = 14 connect(14, {sa_family=AF_FILE, path="/tmp/totem.testuser.3969373181"}, 110) = 0 fstat64(14, {st_mode=S_IFSOCK|0777, st_size=0, ...}) = 0 fcntl64(14, F_GETFL) = 0x2 (flags O_RDWR) write(14, "014 \n", 5) = 5 close(14) = 0 close(14) = -1 EBADF (Bad file descriptor) writev(13, [{"GIOP\1\2\1\5\0\0\0\0", 12}], 1) = 12 close(13) = 0 writev(11, [{"GIOP\1\2\1\5\0\0\0\0", 12}], 1) = 12 close(11) = 0 close(9) = 0 close(8) = 0 unlink("/tmp/orbit-testuser/linc-139d-0-35f78d2873735") = 0 close(12) = 0 exit_group(0) = ? testuser@home:~$ Distribution: Ubuntu 6.06 (dapper) Gnome Release: 2.15.90 2006-08-05 (JHBuild) BugBuddy Version: 2.15.91 Memory status: size: 53796864 vsize: 0 resident: 53796864 share: 0 rss: 25010176 rss_rlim: 0 CPU usage: start_time: 1154838221 rtime: 0 utime: 358 stime: 0 cutime:334 cstime: 0 timeout: 24 it_real_value: 0 frequency: 2 Backtrace was generated from '/opt/gnome2/bin/totem' Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1228519744 (LWP 4975)] [New Thread -1242907728 (LWP 4978)] [New Thread -1234433104 (LWP 4977)] 0xffffe410 in __kernel_vsyscall ()
+ Trace 70012
Which version of D-Bus are you using? Do you get any errors on the command-line when reproducing this bug?
DBus from main branch as defined in JHBuild as of yesterday. I saw a similar problem with being unable to restart the application after it had crashed with gedit yesterday, see bug 350122. Removing the file in /tmp seemed to fix the problem. Will post the error from the console shortly.
** (totem:6474): WARNING **: Couldn't get the system D-Bus: Failed to connect to socket /opt/gnome2/var/run/dbus/system_bus_socket: No such file or directory 6474: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 2781. This is normally a bug in some application using the D-Bus library. 6474: assertion failed "(error) == NULL || dbus_error_is_set ((error))" file "dbus-bus.c" line 1020 function send_no_return_values ** (bug-buddy:6481): WARNING **: Couldn't load icon for Bonobo Component Browser ** (bug-buddy:6481): WARNING **: Couldn't load icon for Open Folder glibtop: This machine has 1 CPUs, 1 are being monitored. Error while running hook_stop: Invalid type combination in ordering comparison.
That's the error that triggers it all: ** (totem:6474): WARNING **: Couldn't get the system D-Bus: Failed to connect to socket /opt/gnome2/var/run/dbus/system_bus_socket: No such file or directory Could you step inside cd_cache_new_hal_ctx() and tell me which step it's taking? It's supposed to print the second error somewhere between those lines: libhal_ctx_shutdown (ctx, NULL); libhal_ctx_free (ctx); if (conn != NULL) dbus_connection_unref (conn);
I think the problem is that you are trying to call libhal_ctx_shutdown with an uninitialized ctx. The ctx pointer is non-null, but all the variables inside the struct are 0/NULL. Just a guess though... testuser@home:~$ gdb /opt/gnome2/bin/totem GNU gdb 6.4-debian Copyright 2005 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". gdb> run [Thread debugging using libthread_db enabled] [New Thread -1228421440 (LWP 6736)] [New Thread -1234293840 (LWP 6740)] [New Thread -1242768464 (LWP 6741)] Program received signal SIGINT, Interrupt. [Switching to Thread -1228421440 (LWP 6736)] Error while running hook_stop: Invalid type combination in ordering comparison. 0xffffe410 in __kernel_vsyscall () gdb> break cd_cache_new_hal_ctx Breakpoint 1 at 0xb7f9853d: file totem-disc.c, line 257. gdb> continue Error while running hook_stop: Invalid type combination in ordering comparison. Breakpoint 1, cd_cache_new_hal_ctx () at totem-disc.c:257 257 ctx = libhal_ctx_new (); gdb> until Error while running hook_stop: Invalid type combination in ordering comparison. 258 if (ctx == NULL) gdb> n Error while running hook_stop: Invalid type combination in ordering comparison. 0xb7f98549 258 if (ctx == NULL) gdb> until Error while running hook_stop: Invalid type combination in ordering comparison. 261 dbus_error_init (&error); gdb> Error while running hook_stop: Invalid type combination in ordering comparison. 266 conn = dbus_bus_get_private (DBUS_BUS_SYSTEM, &error); gdb> Error while running hook_stop: Invalid type combination in ordering comparison. 268 if (conn != NULL && !dbus_error_is_set (&error)) { gdb> Error while running hook_stop: Invalid type combination in ordering comparison. 276 if (dbus_error_is_set (&error)) { gdb> Error while running hook_stop: Invalid type combination in ordering comparison. 277 g_warning ("Couldn't get the system D-Bus: %s", error.message); gdb> ** (totem:6736): WARNING **: Couldn't get the system D-Bus: Failed to connect to socket /opt/gnome2/var/run/dbus/system_bus_socket: No such file or directory Error while running hook_stop: Invalid type combination in ordering comparison. 278 dbus_error_free (&error); gdb> Error while running hook_stop: Invalid type combination in ordering comparison. 281 libhal_ctx_shutdown (ctx, NULL); gdb> 6736: arguments to dbus_connection_send_with_reply_and_block() were incorrect, assertion "connection != NULL" failed in file dbus-connection.c line 2781. This is normally a bug in some application using the D-Bus library. 6736: assertion failed "(error) == NULL || dbus_error_is_set ((error))" file "dbus-bus.c" line 1020 function send_no_return_values Program received signal SIGABRT, Aborted. Error while running hook_stop: Invalid type combination in ordering comparison. 0xffffe410 in __kernel_vsyscall () gdb>
I believe this bug is fixed with the patch from bug 348993. Could you please test?
All good, I get the dialog box "Could not connect to the HAL daemon" Feel free to close and thanks for fixing the bug!
Thank Jonathan, who caught we weren't using hal_ctx_init(). *** This bug has been marked as a duplicate of 348993 ***