Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 288206 - sys-apps/hal: hald crashing when i plug WD USB HDD (4TB)
Summary: sys-apps/hal: hald crashing when i plug WD USB HDD (4TB)
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Daniel Gryniewicz (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on: 313389
Blocks:
  Show dependency tree
 
Reported: 2009-10-08 13:47 UTC by Denys
Modified: 2011-09-18 09:27 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Denys 2009-10-08 13:47:36 UTC
Portage 2.1.6.13 (default/linux/x86/2008.0, gcc-4.3.3, glibc-2.8_p20080602-r1, 2.6.31.3 i686)
=================================================================
System uname: Linux-2.6.31.3-i686-Intel-R-_Core-TM-_i7_CPU_940_@_2.93GHz-with-glibc2.0
Timestamp of tree: Mon, 05 Oct 2009 14:05:02 +0000
app-shells/bash:     3.2_p39
dev-java/java-config: 2.1.7
dev-lang/python:     2.5.4-r2
sys-apps/baselayout: 1.12.11.1
sys-apps/sandbox:    1.6-r2
sys-devel/autoconf:  2.13, 2.63
sys-devel/automake:  1.7.9-r1, 1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.26
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=core2 -pipe -g"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
MAKEOPTS="-j9"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="7zip X a52 aac acl acpi alias alsa amrnb amrwb analogtv apache2 archive arts async autoreplace avahi bash-completion berkdb bittorrent bluetooth bwscheduler bzip2 capi cdaudio cdda cdio cdparanoia cdr cdrom chm cli colordiff connectionstatus console corefonts cracklib crypt cutterlimit cutterqueue cuttime dbus dirac divx djvu dmi dri dvd dvdarchive dvdr dvdread ffmpeg fortran gdbm gpm hal iconv ipv6 isdnlog mmx modules mudflap ncurses nls nptl nptlonly opengl openmp pam pcre pdf perl pppd python qt3 qt4 readline reflection samba session spl sse sse2 ssl sysfs tcpd truetype unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

-----------
dmesg

[  503.295592] scsi 11:0:0:0: Direct-Access     WD       My Book          1014 PQ: 0 ANSI: 4
[  503.295699] sd 11:0:0:0: Attached scsi generic sg3 type 0
[  503.297549] sd 11:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
[  503.298367] sd 11:0:0:0: [sdd] 7814025568 512-byte logical blocks: (4.00 TB/3.63 TiB)
[  503.299277] sd 11:0:0:0: [sdd] Write Protect is off
[  503.299282] sd 11:0:0:0: [sdd] Mode Sense: 10 00 00 00
[  503.299285] sd 11:0:0:0: [sdd] Assuming drive cache: write through
[  503.299289] usb-storage: device scan complete
[  503.301037] sd 11:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
[  503.303047] sd 11:0:0:0: [sdd] Assuming drive cache: write through
[  503.303053]  sdd: sdd1
[  503.386176] sd 11:0:0:0: [sdd] Very big device. Trying to use READ CAPACITY(16).
[  503.388090] sd 11:0:0:0: [sdd] Assuming drive cache: write through
[  503.388093] sd 11:0:0:0: [sdd] Attached SCSI disk
[  535.386419] hald[17993]: segfault at 8a58 ip b76a7327 sp bf8b0ec4 error 4 in libglib-2.0.so.0.2000.5[b7649000+d7000]



-----------
gdb output
(gdb) run --daemon=no
Starting program: /usr/sbin/hald --daemon=no
Runner started - allowed paths are '/usr/libexec:/usr/libexec/scripts:/usr/bin'
Run started hald-generate-fdi-cache (60000) (0)
!  full path is '/usr/libexec/hald-generate-fdi-cache', program_dir is '/usr/libexec'
pid 10979: rc=0 signaled=0: /usr/libexec/hald-generate-fdi-cache
Run started hald-addon-input (0) (0)
!  full path is '/usr/libexec/hald-addon-input', program_dir is '/usr/libexec'
Run started hald-probe-storage (20000) (0)
!  full path is '/usr/libexec/hald-probe-storage', program_dir is '/usr/libexec'
woohoo
Run started hald-probe-storage (20000) (0)
!  full path is '/usr/libexec/hald-probe-storage', program_dir is '/usr/libexec'
woohoo

Program received signal SIGSEGV, Segmentation fault.
0xb7645327 in g_str_hash () from /usr/lib/libglib-2.0.so.0
(gdb) bt full
#0  0xb7645327 in g_str_hash () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#1  0xb7612b5c in g_hash_table_lookup () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#2  0xb760b10a in g_quark_try_string () from /usr/lib/libglib-2.0.so.0
No symbol table info available.
#3  0x0805848d in hal_device_property_set_int (device=0x863d500, key=0x8a58 <Address 0x8a58 out of bounds>, value=2) at device.c:539
No locals.
#4  0x0807fd78 in hotplug_event_begin_add_dev (subsystem=<value optimized out>, sysfs_path=0x863e92c "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1/input/input7/event3",
    device_file=0x863ed2c "/dev/input/event3", parent_dev=0x8620300, parent_path=0x862d980 "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1", end_token=0x863e820) at device.c:4948
        d = (HalDevice *) 0x863d500
        check = <value optimized out>
        __func__ = "hotplug_event_begin_add_dev"
#5  0x08072626 in hotplug_event_begin_sysfs (hotplug_event=0x863e820) at hotplug.c:172
        parent = (HalDevice *) 0x8620300
        parent_path = (gchar *) 0x862d980 "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1"
        d = (HalDevice *) 0x0
        subsystem = "/sys/devices/pci0000:00/0000:00:1d.7/usb2/2-6/2-6:1.1/input/input7/event3/subsystem\000raw0/subsystem\000/subsystem\000m\000m\000b\bø\237b\b \237b\bôÿ\t\b°;`\bX{`\bd\000\000\000m\000\000\000`v`\bã\202\t\b\000\000\000\000\177Îb\b\210±b\bâ\202\t\bè?Þ¿\2345\a\b \237b\b\210±b\b \237b\bôÿ\t\b°;`\b¨;`\b"...
        subsystem_target = <value optimized out>
        __func__ = "hotplug_event_begin_sysfs"
#6  0x08072a8f in hotplug_event_process_queue () at hotplug.c:295
        hotplug_event = (HotplugEvent *) 0x863e820
        lp = (GList *) 0x863d4d0
        lp2 = (GList *) 0x863d300
        processing = 1
        __func__ = "hotplug_event_process_queue"
#7  0x08073cc7 in process_coldplug_events () at coldplug.c:552
        hotplug_event = <value optimized out>
        sysfs_dev = (struct sysfs_device *) 0x862d370
        dev = (GSList *) 0x8603ca0
#8  0x0807432b in coldplug_synthesize_events () at coldplug.c:600
        statbuf = {st_dev = 13214806181635802931, __pad1 = 45520, __st_ino = 134839534, st_mode = 140402336, st_nlink = 134560724, st_uid = 3076811801, st_gid = 3077304308,
  st_rdev = 13213890918599246472, __pad2 = 45520, st_size = -4621182534581388050, st_blksize = 134675237, st_blocks = 579130667318214544, st_atim = {tv_sec = -1075952984, tv_nsec = -1218368569},
  st_mtim = {tv_sec = 109, tv_nsec = 109}, st_ctim = {tv_sec = -1075952984, tv_nsec = -1218399990}, st_ino = 579131391815627264}
        __func__ = "coldplug_synthesize_events"
#9  0x0806f68d in computer_probing_helper_done (d=0x85e5ea0) at osspec.c:493
        __func__ = "computer_probing_helper_done"
#10 0x080700ad in osspec_probe () at osspec.c:892
        root = (HalDevice *) 0x85e5ea0
        un = {sysname = "Linux", '\0' <repeats 59 times>, nodename = "brightfuture", '\0' <repeats 52 times>, release = "2.6.31.3", '\0' <repeats 56 times>,
---Type <return> to continue, or q <return> to quit---
  version = "#1 SMP Thu Oct 8 15:51:07 EEST 2009", '\0' <repeats 29 times>, machine = "i686", '\0' <repeats 60 times>, domainname = "(none)", '\0' <repeats 58 times>}
#11 0x0805f54d in main (argc=2, argv=0xbfde4914) at hald.c:818
        loop = (GMainLoop *) 0x85e4a20
        path = <value optimized out>
        newpath = "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/bin:/usr/i486-pc-linux-gnu/gcc-bin/4.3.2:/usr/i686-pc-linux-gnu/gcc-bin/4.3.3:/usr/i686-pc-linux-gnu/mingw32/gcc-bin/4.4.0:/usr/kde/3."...
        opt_child_timeout = 250
        __func__ = "main"
        long_options = {{name = 0x808d6fe "exit-after-probing", has_arg = 0, flag = 0x0, val = 0}, {name = 0x808d781 "daemon", has_arg = 1, flag = 0x0, val = 0}, {name = 0x808d71f "verbose",
    has_arg = 1, flag = 0x0, val = 0}, {name = 0x808d727 "retain-privileges", has_arg = 0, flag = 0x0, val = 0}, {name = 0x808d711 "child-timeout", has_arg = 1, flag = 0x0, val = 0}, {
    name = 0x808d739 "use-syslog", has_arg = 0, flag = 0x0, val = 0}, {name = 0x808d6dc "help", has_arg = 0, flag = 0x0, val = 0}, {name = 0x809a839 "version", has_arg = 0, flag = 0x0, val = 0}, {
    name = 0x0, has_arg = 0, flag = 0x0, val = 0}}



Reproducible: Always

Steps to Reproduce:
1. run hald
2. plug device, it will crash, even you try to restart it
3.
Comment 1 Robert Jalics 2009-10-09 18:19:36 UTC
Could you please test if this bug also exists in sys-apps/hal-0.5.13-r2? See bug 284744 comment 7 for the necessary keywords.
Comment 2 Robert Peter 2009-11-12 22:00:13 UTC
I have a similar problem with a Western Digital USB HD (1TB) and sys-apps/hal-0.5.13-r2. hald crashes when plugging in the device. Did you solve this?
Comment 3 Daniel Gryniewicz (RETIRED) gentoo-dev 2009-11-14 18:43:48 UTC
You have a very different version of glib from me.  What version of glib do you have?
Comment 4 Robert Peter 2009-11-17 14:08:29 UTC
Seems to be glib's fault. I compiled and installed recent glib from git and the problem went away.
Comment 5 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-11-18 12:45:56 UTC
(In reply to comment #4)
> Seems to be glib's fault. I compiled and installed recent glib from git and the
> problem went away.
> 

that still doesn't tell me which glib version you used in the first place, nor if you used some live glib ebuild that I'm not aware of and might not do things as we do it in gentoo.
Comment 6 Robert Peter 2009-11-18 14:13:07 UTC
> that still doesn't tell me which glib version you used in the first place, nor
> if you used some live glib ebuild that I'm not aware of and might not do things
> as we do it in gentoo.

I'm sorry, I forgot to tell: I used glib-2.22.2 (on ~amd64)
Comment 7 James Broadhead 2009-12-29 17:11:52 UTC
Seeing this bug here as well on x86

Tested with: 
dev-libs/glib ~2.22.3
sys-apps/hal ~0.5.14
sys-fs/udev 146-r1

(and more, will report more later)

EXT3 FS on sda1, internal journal
EXT3-fs: mounted filesystem with writeback data mode.
usb 1-7: new high speed USB device using ehci_hcd and address 8
usb 1-7: configuration #1 chosen from 1 choice
scsi9 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 8
usb-storage: waiting for device to settle before scanning
input: Western Digital My Book as /class/input/input5
generic-usb 0003:1058:1104.0004: input: USB HID v1.11 Device [Western Digital My Book] on usb-0000:00:1d.7-7/input1
hald[10250]: segfault at 89d8 ip b7fe1fc5 sp bfbdbee8 error 4 in libglib-2.0.so.0.2200.3[b7f8b000+ca000]

(it also fails immediately in the same way if the drive is mounted, and hald is started)
Comment 8 Gilles Dartiguelongue (RETIRED) gentoo-dev 2010-01-01 18:24:53 UTC
for glib-2.22.3, please refer to bug #297483
Comment 9 James Broadhead 2010-01-05 03:03:24 UTC
(In reply to comment #8)
> for glib-2.22.3, please refer to bug #297483

I don't think that this is a general glib problem, I think that it's very specific to WD external disks (for some reason). I only upgraded to ~glib to try and fix this problem. I only upgraded to ~glib having seen it mentioned in this thread hoping for a fix. 

At some point last year, I encountered this problem, but managed to find a hal version that wasn't affected. I (foolishly) removed the lines from package.mask in order to update world, and re-encountered this problem. Unfortunately, I have no record of which version(s) of these programs I was using. 
( I think that it was  sys-apps/hal-0.5.11-r9 ) 

Plugging in other disks doesn't cause hal to fail, just my WD 'My Book' (hal crashes immediately after it is plugged in)
Comment 10 James Broadhead 2010-01-05 03:25:16 UTC
Just found a forum post I made when I last had this problem (whoops)
http://forums.gentoo.org/viewtopic-t-783506.html

I have hal working with: 
dev-libs/glib-2.20.5-r1 (built with -O2)
sys-apps/hal-0.5.14 (built with -O0)

Workaround: Build hal with CFLAGS="-O0"

Comment 11 Jorge Manuel B. S. Vicetto (RETIRED) Gentoo Infrastructure gentoo-dev 2010-01-05 13:38:13 UTC
Are you sure you aren't hitting bug 299385?
Comment 12 James Broadhead 2010-01-12 03:35:47 UTC
(In reply to comment #11)
> Are you sure you aren't hitting bug 299385?
> 

I don't think so (but I'm far from certain).

This bug occurs on device connection (or, if the device is already connected, when hal is started) - I don't imagine that umount.hal is called. 

Can you suggest a way of testing? Bug 299385 is fixed upstream, I'll test for this bug when >sys-apps/hal-0.5.14 is released
Comment 13 Daniel Gryniewicz (RETIRED) gentoo-dev 2010-01-12 13:01:39 UTC
bug 299385 is fixed on Gentoo, too.  Just update to 0.5.14-r1, and see if the problem goes away.
Comment 14 Samuli Suominen (RETIRED) gentoo-dev 2011-09-18 09:27:29 UTC
sys-apps/hal was removed from tree wrt #313389, closing as OBSOLETE