Little hal patches and crash

Martin Waitz tali at admingilde.org
Thu Mar 11 22:30:51 EET 2004


hi :)

first the nice part: patches!


just ignore if usbfs is not mounted:

--- hal-0.2.6+20040311.orig/hald/linux/linux_usb.c
+++ hal-0.2.6+20040311/hald/linux/linux_usb.c
@@ -476,7 +476,7 @@
 		    ("/proc/bus/usb/devices_please-use-sysfs-instead",
 		     "r");
 	if (f == NULL) {
-		DIE (("Couldn't open /proc/bus/usb/devices"));
+		return;
 	}
 
 	while (!feof (f)) {


print a nicer error message when hald is not running:

--- hal-0.2.6+20040311.orig/tools/device-manager/DeviceManager.py
+++ hal-0.2.6+20040311/tools/device-manager/DeviceManager.py
@@ -1,5 +1,6 @@
 """This file contains the DeviceManager class."""
  
+import sys
 import gobject
 import gtk
 import gnome.ui
@@ -43,7 +44,11 @@
                                      "/org/freedesktop/Hal/Manager")
 
         # Add listeners for all devices
-        device_names = self.hal_manager.GetAllDevices()
+        try:
+            device_names = self.hal_manager.GetAllDevices()
+        except:
+            sys.exit("Could not get device list. Make sure hald is running")
+
         for name in device_names:
             self.bus.add_signal_receiver(self.device_changed,
                                          "org.freedesktop.Hal.Device",


then, when choosing Help/About, hal-device-manager crashes hard.
i haven't found out why yet :(
error in python bindings?

#0  0x404cc293 in initui ()
   from /usr/lib/python2.3/site-packages/gtk-2.0/gnome/ui.so
#1  0x08089935 in _PyObject_SlotCompare ()
#2  0x0805b959 in PyObject_Call ()
#3  0x080aba42 in PyEval_CallObjectWithKeywords ()
#4  0x080ab6a9 in PyEval_CallObjectWithKeywords ()
#5  0x080a9bde in Py_MakePendingCalls ()
#6  0x080aa76c in PyEval_EvalCodeEx ()
#7  0x080fd967 in PyStaticMethod_New ()
#8  0x0805b959 in PyObject_Call ()
#9  0x08062348 in PyMethod_Fini ()
#10 0x0805b959 in PyObject_Call ()
#11 0x080ab5b7 in PyEval_CallObjectWithKeywords ()
#12 0x0805b91e in PyObject_CallObject ()
#13 0x40277943 in pyg_value_as_pyobject ()
   from /usr/lib/python2.3/site-packages/gtk-2.0/gobject.so
#14 0x44c85a92 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#15 0x44c95da6 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#16 0x44c94ec2 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#17 0x44c950d6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#18 0x46848e77 in gtk_widget_activate () from /usr/lib/libgtk-x11-2.0.so.0
#19 0x467761b2 in gtk_menu_shell_activate_item ()
   from /usr/lib/libgtk-x11-2.0.so.0
#20 0x467754a7 in _gtk_menu_shell_activate () from /usr/lib/libgtk-x11-2.0.so.0
#21 0x4676eb66 in gtk_menu_reorder_child () from /usr/lib/libgtk-x11-2.0.so.0
#22 0x467669e4 in _gtk_marshal_BOOLEAN__BOXED ()
   from /usr/lib/libgtk-x11-2.0.so.0
#23 0x44c85d44 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#24 0x44c85a92 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#25 0x44c95895 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#26 0x44c94ca3 in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0x44c950d6 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0x46848ca7 in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#29 0x467667a7 in gtk_propagate_event () from /usr/lib/libgtk-x11-2.0.so.0
#30 0x46765506 in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#31 0x45b23845 in _gdk_events_queue () from /usr/lib/libgdk-x11-2.0.so.0
#32 0x44c37086 in unblock_source () from /usr/lib/libglib-2.0.so.0
#33 0x44c38029 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#34 0x44c38347 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#35 0x44c389b0 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#36 0x46764d2f in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#37 0x082ed778 in ?? ()
#38 0xbffff6e8 in ?? ()
#39 0x0807aa0b in PyObject_GenericGetAttr ()


-- 
CU,		  / Friedrich-Alexander University Erlangen, Germany
Martin Waitz	//  Department of Computer Science 12      _________
______________/// - - - - - - - - - - - - - - - - - - - - ///
dies ist eine manuell generierte mail, sie beinhaltet    //
tippfehler und ist auch ohne grossbuchstaben gueltig.   /
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/xdg/attachments/20040311/a44b5bee/attachment.pgp 


More information about the xdg mailing list