Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 371300 - sys-fs/udisks-1.0.4-r1: /lib/udev/udisks-part-id crash when disconnecting USB
Summary: sys-fs/udisks-1.0.4-r1: /lib/udev/udisks-part-id crash when disconnecting USB
Status: RESOLVED WORKSFORME
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Freedesktop bugs
URL: https://bugs.freedesktop.org/show_bug...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-06-12 19:45 UTC by Pacho Ramos
Modified: 2015-07-04 16:27 UTC (History)
1 user (show)

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


Attachments
dmesg (dmesg,48.56 KB, text/plain)
2011-06-12 19:46 UTC, Pacho Ramos
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2011-06-12 19:45:13 UTC
This is what I did:

Reproducible: Always

Steps to Reproduce:
1. I had my MP4 mounted and connected, before login out of my gnome session, I unmounted it clicking on "eject" from nautilus.
2. After that, I logged out and saw the following messages in logs:
sd 2:0:0:0: [sdb] READ CAPACITY failed
sd 2:0:0:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sdb]  Sense Key : 0x6 [current] 
sd 2:0:0:0: [sdb]  ASC=0x28 ASCQ=0x0
sd 2:0:0:0: [sdb] Test WP failed, assume Write Enabled
sd 2:0:0:0: [sdb] Assuming drive cache: write through
not responding...
sd 2:0:0:0: [sdb] READ CAPACITY failed
sd 2:0:0:0: [sdb]  Result: hostbyte=0x00 driverbyte=0x08
sd 2:0:0:0: [sdb]  Sense Key : 0x6 [current] 
sd 2:0:0:0: [sdb]  ASC=0x28 ASCQ=0x0
sd 2:0:0:0: [sdb] Test WP failed, assume Write Enabled
sd 2:0:0:0: [sdb] Assuming drive cache: write through
sdb: detected capacity change from 15854993408 to 0
agpgart-amd64 0000:00:00.0: AGP 3.0 bridge
agpgart-amd64 0000:00:00.0: putting AGP V3 device into 8x mode
nvidia 0000:01:00.0: putting AGP V3 device into 8x mode
not responding...

3. I then simply switched off my MP4 and, then, the following appeared in logs:

usb 1-8: USB disconnect, device number 5
BUG: unable to handle kernel NULL pointer dereference at 0000000000000071
IP: [<ffffffff81233ffb>] elv_may_queue+0xb/0x30
PGD 7c56e067 PUD 77b55067 PMD 0 
Oops: 0000 [#1] PREEMPT 
last sysfs file: /sys/devices/pci0000:00/0000:00:10.4/class
CPU 0 
Modules linked in: usb_storage fuse snd_seq_oss snd_seq_midi_event snd_seq snd_pcm_oss snd_mixer_oss nvidia(P) arc4 usbhid ecb snd_via82xx snd_ac97_codec ac97_bus snd_pcm ath5k snd_timer ath snd_page_alloc uhci_hcd 8250_pnp snd_mpu401_uart mac80211 snd_rawmidi ehci_hcd 8250 via_velocity parport_pc cfg80211 snd_seq_device usbcore serial_core parport snd crc_ccitt

Pid: 7705, comm: udisks-part-id Tainted: P            2.6.39-gentoo #1    /AV8 (VIA K8T800P-8237)
RIP: 0010:[<ffffffff81233ffb>]  [<ffffffff81233ffb>] elv_may_queue+0xb/0x30
RSP: 0018:ffff8800778ef908  EFLAGS: 00010092
RAX: 0000000000000001 RBX: ffff88007d366150 RCX: 0000000000000010
RDX: 0000000000000000 RSI: 0000000000000000 RDI: ffff88007d366150
RBP: 0000000000000000 R08: 0000000000000000 R09: ffff880077fa73c0
R10: 0000000000000003 R11: 0000000000000001 R12: ffff8800778efb78
R13: 0000000000000000 R14: ffff880077fa73c0 R15: 0000000000000000
FS:  00007f8516419740(0000) GS:ffffffff8157f000(0000) knlGS:00000000f7754840
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000071 CR3: 0000000077bd1000 CR4: 00000000000006f0
DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Process udisks-part-id (pid: 7705, threadinfo ffff8800778ee000, task ffff880077b8b080)
Stack:
 ffff8800067f7740 ffffffff812380af ffff8800067f7740 ffff880077b8b080
 ffff88007c00e701 ffffffff81429f4c ffffffff81577040 00000010778effd8
 ffff8800778ee000 ffff88007d366150 0000000000000000 ffff8800778efb78
Call Trace:
 [<ffffffff812380af>] ? get_request+0x3f/0x360
 [<ffffffff81429f4c>] ? schedule+0x22c/0x620
 [<ffffffff812383f4>] ? get_request_wait+0x24/0x170
 [<ffffffff81236bd4>] ? __freed_request+0xa4/0xb0
 [<ffffffff812fc5ff>] ? scsi_execute+0x4f/0x170
 [<ffffffff812fc7d3>] ? scsi_execute_req+0xb3/0x150
 [<ffffffff8103e940>] ? sys_gettid+0x20/0x20
[...]

(I attach full dmesg)
Comment 1 Pacho Ramos gentoo-dev 2011-06-12 19:46:10 UTC
Created attachment 276830 [details]
dmesg

Portage 2.1.9.50 (default/linux/amd64/10.0/desktop/gnome, gcc-4.4.5, glibc-2.12.2-r0, 2.6.39-gentoo x86_64)
=================================================================
System uname: Linux-2.6.39-gentoo-x86_64-AMD_Athlon-tm-_64_Processor_3200+-with-gentoo-2.0.2
Timestamp of tree: Sat, 11 Jun 2011 11:00:01 +0000
ccache version 2.4 [enabled]
app-shells/bash:          4.1_p9
dev-java/java-config:     2.1.11-r3
dev-lang/python:          2.7.1-r1, 3.1.3-r1
dev-util/ccache:          2.4-r9
dev-util/cmake:           2.8.4-r1
sys-apps/baselayout:      2.0.2
sys-apps/openrc:          0.8.2-r1
sys-apps/sandbox:         2.4
sys-devel/autoconf:       2.13, 2.68
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:       2.20.1-r1
sys-devel/gcc:            4.4.5
sys-devel/gcc-config:     1.4.1-r1
sys-devel/libtool:        2.2.10
sys-devel/make:           3.82
sys-kernel/linux-headers: 2.6.36.1 (virtual/os-headers)
sys-libs/glibc:           2.12.2
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/usr/distfiles"
FEATURES="assume-digests binpkg-logs ccache distlocks fixlafiles fixpackages multilib-strict news parallel-fetch protect-owned sandbox sfperms sign split-log strict test test-fail-continue unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS=""
GENTOO_MIRRORS="ftp://ftp.free.fr/mirrors/ftp.gentoo.org http://ftp.ussg.iu.edu/linux/gentoo http://mirror.ovh.net/gentoo-distfiles/ http://ftp.heanet.ie/pub/gentoo/"
LANG="es_ES.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu"
LINGUAS="es es_ES en_US"
MAKEOPTS="-j2"
PKGDIR="/usr/local/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/portage/local/layman/sunrise /usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="3dnow 3dnowext X a52 aac acl acpi alsa amd64 applet avahi bash-completion berkdb branding bzip2 cairo cdda cddb cdinstall cdr cdrom cleartype cli consolekit cracklib crypt css cups cxx daap dbus djvu dri dts dvd dvdr dvi eds emboss encode evo exif fam fat ffmpeg firefox flac fortran fuse gdbm gdu gif git gnome gnome-keyring gpm gstreamer gtk hddtemp iconv java jpeg kpathsea latex lcdfilter lcms libnotify lm_sensors lyx lzma mad mmx mmxext mng modules mono mp3 mp4 mpeg mudflap multilib musicbrainz nautilus ncurses network network-cron nls nptl nptlonly ntfs nvidia ogg opengl openmp pam pango pch pcre pdf perl png policykit ppds pppd python qt3support qt4 readline reiserfs scanner sdl session sound spell sse sse2 sse3 ssl startup-notification subversion svg sysfs t1lib tcpd test threads tiff truetype udev unicode usb v4l2 vcd vorbis webkit x264 xattr xcb xml xmp xorg xpm xulrunner xv xvid zeroconf zlib" ALSA_CARDS="via82xx" 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 cgi cgid 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" CALLIGRA_FEATURES="braindump flow karbon kexi kpresenter krita tables words" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="es es_ES en_US" PHP_TARGETS="php5-3" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia vesa" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 2 Samuli Suominen (RETIRED) gentoo-dev 2011-06-12 19:55:55 UTC
What is MP4 in this context?

Does it crash if you run this? (replace sda1 with appropiate device)

# /lib/udev/udisks-part-id /dev/sda1

Then make sure everything is compiled with debugging symbols and get a backtrace:

# gdb --args /lib/udev/udisks-part-id /dev/sda1
run
bt full
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2011-06-12 20:02:55 UTC
(In reply to comment #2)
> What is MP4 in this context?
> 
> Does it crash if you run this? (replace sda1 with appropiate device)
> 
> # /lib/udev/udisks-part-id /dev/sda1
> 
> Then make sure everything is compiled with debugging symbols and get a
> backtrace:
> 
> # gdb --args /lib/udev/udisks-part-id /dev/sda1
> run
> bt full

And since you said "on disconnect", try running the command on non-existing devices as well to see if it crashes then
Comment 4 Pacho Ramos gentoo-dev 2011-06-13 08:37:36 UTC
(In reply to comment #2)
> What is MP4 in this context?

A player (like Walkman, iPod...)

> 
> Does it crash if you run this? (replace sda1 with appropiate device)
> 
> # /lib/udev/udisks-part-id /dev/sda1
> 
> Then make sure everything is compiled with debugging symbols and get a
> backtrace:
> 
> # gdb --args /lib/udev/udisks-part-id /dev/sda1
> run
> bt full

It doesn't crash, I get:

# /lib/udev/udisks-part-id /dev/sdb1 
using device_file=/dev/sdb syspath=/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0/host2/target2:0:0/2:0:0:0/block/sdb, offset=22528 ao=0 and number=1 for /dev/sdb1
Entering MS-DOS parser (offset=0, size=15854993408)
MSDOS_MAGIC found
looking at part 0 (offset 22528, size 15854970880, type 0x0b)
new part entry
looking at part 1 (offset 0, size 0, type 0x00)
new part entry
looking at part 2 (offset 0, size 0, type 0x00)
new part entry
looking at part 3 (offset 0, size 0, type 0x00)
new part entry
Exiting MS-DOS parser
MSDOS partition table detected
UDISKS_PARTITION=1
UDISKS_PARTITION_SCHEME=mbr
UDISKS_PARTITION_NUMBER=1
UDISKS_PARTITION_TYPE=0x0b
UDISKS_PARTITION_SIZE=15854970880
UDISKS_PARTITION_LABEL=
UDISKS_PARTITION_UUID=
UDISKS_PARTITION_FLAGS=
UDISKS_PARTITION_SLAVE=/sys/devices/pci0000:00/0000:00:10.4/usb1/1-8/1-8:1.0/host2/target2:0:0/2:0:0:0/block/sdb
UDISKS_PARTITION_OFFSET=22528
UDISKS_PARTITION_ALIGNMENT_OFFSET=0
Comment 5 Pacho Ramos gentoo-dev 2011-06-13 08:39:53 UTC
(In reply to comment #3)
> And since you said "on disconnect", try running the command on non-existing
> devices as well to see if it crashes then

Neither crash :S

# /lib/udev/udisks-part-id /dev/sdc1
Error statting /dev/sdc1: No such file or directory
using device_file=(null) syspath=(null), offset=0 ao=0 and number=0 for /dev/sdc1
Error opening (null): Bad address

But I still can reproduce the same problem as originally reported following described steps
Comment 6 Pacho Ramos gentoo-dev 2011-07-25 17:56:11 UTC
I can reproduce this on different machines and, today, this caused me to need to hardreboot them after getting hung :S
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2011-07-26 02:07:05 UTC
(In reply to comment #6)
> I can reproduce this on different machines and, today, this caused me to need
> to hardreboot them after getting hung :S

hald running? shouldn't.   /etc/fstab entried for removable device? shouldn't have.
Comment 8 Pacho Ramos gentoo-dev 2011-07-26 13:50:18 UTC
No, I don't have hal installed for a long time :-/, and my fstab doesn't contain entries for removable devices:

/dev/sda5	/			ext4		defaults,noatime	0 1
/dev/sda7	none			swap		sw			0 0
/dev/sda6	/home			ext4		defaults,noatime	0 2
/dev/sda8	/usr/portage		reiserfs	defaults,noatime,nolog	0 0
/dev/sda9	/home/pacho/gentoo-x86	reiserfs 	defaults,noatime,nolog	0 0
tmpfs		/var/tmp/portage	tmpfs		defaults		0 0

none		/proc			proc		defaults		0 0
shm		/dev/shm		tmpfs		nodev,nosuid,noexec	0 0

#none		/sys/kernel/debug	debugfs		defaults		0 0
Comment 9 Samuli Suominen (RETIRED) gentoo-dev 2011-10-10 22:56:25 UTC
Can we get a status update here with later versions?
Comment 10 Pacho Ramos gentoo-dev 2011-10-11 01:11:30 UTC
It's the same with 1.0.4-r1, maybe I should report this to upstream :-/
Comment 11 Rafał Mużyło 2012-06-01 11:25:12 UTC
While this bug seems on its way to OBSOLETE, is there any chance it's the problem referenced here: http://cgit.freedesktop.org/udisks/commit/?h=udisks1&id=345600ce8d1c0d631644672f24f9ee61f63e3cc8 ?
Comment 12 Pacho Ramos gentoo-dev 2015-07-04 16:27:27 UTC
udisks-2 is not affected by this (and old slot if completely dead for ages)