From mboxrd@z Thu Jan 1 00:00:00 1970 From: Frank Steiner Date: Mon, 04 Oct 2004 06:15:46 +0000 Subject: Re: Hanging udev process on nfs-mounted /dev Message-Id: <4160EA92.9010605@bio.ifi.lmu.de> MIME-Version: 1 Content-Type: multipart/mixed; boundary="------------090502090508000100050609" List-Id: References: <415980BF.1020401@bio.ifi.lmu.de> In-Reply-To: <415980BF.1020401@bio.ifi.lmu.de> To: linux-hotplug@vger.kernel.org This is a multi-part message in MIME format. --------------090502090508000100050609 Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit Kay Sievers wrote > Oh, bad. > It's your running strace that prevents gbd to take the control over the > process, I expect. Just try to send the strace parent-process a SIGUSR1 > which may leave the udev process running. Yes, that worked :-) On one host there were already 3 udev processes sharing all the CPU time, on the second it was just one. All four traces look a little bit different, that's why I've attached all four of them. I hope you can fetch sth. useful from the traces... cu, Frank P.S.: I will wait with the patch you sent until you tell me that you got all information from the hanging udevs you need. I can leave the hosts up and hanging for today, one of them even until end of the week! -- Dipl.-Inform. Frank Steiner Web: http://www.bio.ifi.lmu.de/~steiner/ Lehrstuhl f. Bioinformatik Mail: http://www.bio.ifi.lmu.de/~steiner/m/ LMU, Amalienstr. 17 Phone: +49 89 2180-4049 80333 Muenchen, Germany Fax: +49 89 2180-99-4049 * Rekursion kann man erst verstehen, wenn man Rekursion verstanden hat. * --------------090502090508000100050609 Content-Type: text/x-troff-man; name="udev.trace.1" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="udev.trace.1" turan /root# gdb -p 24498 GNU gdb 5.3.92 Copyright 2003 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 "i586-suse-linux". Attaching to process 24498 Reading symbols from /sbin/utest/udev...done. Reading symbols from /lib/i686/libc.so.6...done. Loaded symbols for /lib/i686/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /lib/libnss_compat.so.2...done. Loaded symbols for /lib/libnss_compat.so.2 Reading symbols from /lib/libnsl.so.1...done. Loaded symbols for /lib/libnsl.so.1 Reading symbols from /lib/libnss_nis.so.2...done. Loaded symbols for /lib/libnss_nis.so.2 Reading symbols from /lib/libnss_files.so.2...done. Loaded symbols for /lib/libnss_files.so.2 0x400b91be in memcpy () from /lib/i686/libc.so.6 (gdb) bt #0 0x400b91be in memcpy () from /lib/i686/libc.so.6 #1 0x08056164 in tdb_read (tdb=0x80640a8, off=1073871052, buf=0xbffff2d8, len=3221222108, cv=0) at tdb/tdb.c:407 #2 0x080562b9 in ofs_read (tdb=0x4, offset=22728, d=0xbffff2d8) at tdb/tdb.c:447 #3 0x080567e4 in remove_from_freelist (tdb=0x80640a8, off=28176, next=696) at tdb/tdb.c:628 #4 0x080568d4 in tdb_free (tdb=0x80640a8, offset=27268, rec=0xbffff370) at tdb/tdb.c:662 #5 0x08056e2e in tdb_allocate (tdb=0x80640a8, length=884, rec=0xbffff3e0) at tdb/tdb.c:910 #6 0x08057e5a in tdb_store (tdb=0x80640a8, key= {dptr = 0xbffff450 "/class/scsi_generic/sg3", dsize = 24}, dbuf= {dptr = 0xbffff6a0 "sg3", dsize = 856}, flag=1) at tdb/tdb.c:1497 #7 0x0804c361 in udevdb_add_dev (path=0xbfffff67 "/class/scsi_generic/sg3", dev=0xbffff6a0) at udevdb.c:76 #8 0x0804bb66 in udev_add_device (path=0xbfffff67 "/class/scsi_generic/sg3", subsystem=0xbfffff45 "scsi_generic", fake=0) at udev-add.c:446 #9 0x0804971f in main (argc=2, argv=0xbffffd70, envp=0x4) at udev.c:185 (gdb) --------------090502090508000100050609 Content-Type: text/x-troff-man; name="udev.trace.2" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="udev.trace.2" knuth /root# gdb -p 12063 GNU gdb 5.3.92 Copyright 2003 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 "i586-suse-linux". Attaching to process 12063 Reading symbols from /sbin/utest/udev...done. Reading symbols from /lib/i686/libc.so.6...done. Loaded symbols for /lib/i686/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 tdb_oob (tdb=0x80640a8, len=3221222944, probe=7004) at tdb/tdb.c:342 342 tdb/tdb.c: No such file or directory. in tdb/tdb.c (gdb) bt #0 tdb_oob (tdb=0x80640a8, len=3221222944, probe=7004) at tdb/tdb.c:342 #1 0x0805638b in rec_read (tdb=0x80640a8, offset=7004, rec=0xbffff620) at tdb/tdb.c:466 #2 0x0805703e in tdb_find (tdb=0x80640a8, key= {dptr = 0xbfffff60 "/class/scsi_device/26:0:0:0", dsize = 28}, hash=536231552, r=0xbffff620) at tdb/tdb.c:990 #3 0x080571b8 in tdb_find_lock (tdb=0x80640a8, key= {dptr = 0xbfffff60 "/class/scsi_device/26:0:0:0", dsize = 28}, locktype=0, rec=0xbffff620) at tdb/tdb.c:1035 #4 0x080572ef in tdb_fetch (tdb=0x80640a8, key= {dptr = 0xbfffff60 "/class/scsi_device/26:0:0:0", dsize = 28}) at tdb/tdb.c:1113 #5 0x0804c3a3 in udevdb_get_dev (path=0xffffff00
, dev=0xbffff6a0) at udevdb.c:89 #6 0x0804c17f in udev_remove_device (path=0xbfffff60 "/class/scsi_device/26:0:0:0", subsystem=0xbfffff45 "block") at udev-remove.c:170 #7 0x08049760 in main (argc=2, argv=0xbffffd70, envp=0x1b74) at udev.c:189 --------------090502090508000100050609 Content-Type: text/x-troff-man; name="udev.trace.3" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="udev.trace.3" knuth /root# gdb -p 23587 GNU gdb 5.3.92 Copyright 2003 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 "i586-suse-linux". Attaching to process 23587 Reading symbols from /sbin/utest/udev...done. Reading symbols from /lib/i686/libc.so.6...done. Loaded symbols for /lib/i686/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 0x08055f9a in tdb_oob (tdb=0x80640a8, len=7028, probe=0) at tdb/tdb.c:344 344 tdb/tdb.c: No such file or directory. in tdb/tdb.c (gdb) bt #0 0x08055f9a in tdb_oob (tdb=0x80640a8, len=7028, probe=0) at tdb/tdb.c:344 #1 0x0805613c in tdb_read (tdb=0x80640a8, off=7004, buf=0xbffff620, len=24, cv=0) at tdb/tdb.c:403 #2 0x0805631e in rec_read (tdb=0x80640a8, offset=7004, rec=0xbffff620) at tdb/tdb.c:458 #3 0x0805703e in tdb_find (tdb=0x80640a8, key= {dptr = 0xbfffff61 "/class/scsi_device/9:0:0:2", dsize = 27}, hash=3221149257, r=0xbffff620) at tdb/tdb.c:990 #4 0x080571b8 in tdb_find_lock (tdb=0x80640a8, key= {dptr = 0xbfffff61 "/class/scsi_device/9:0:0:2", dsize = 27}, locktype=0, rec=0xbffff620) at tdb/tdb.c:1035 #5 0x080572ef in tdb_fetch (tdb=0x80640a8, key= {dptr = 0xbfffff61 "/class/scsi_device/9:0:0:2", dsize = 27}) at tdb/tdb.c:1113 #6 0x0804c3a3 in udevdb_get_dev (path=0x0, dev=0xbffff6a0) at udevdb.c:89 #7 0x0804c17f in udev_remove_device (path=0xbfffff61 "/class/scsi_device/9:0:0:2", subsystem=0xbfffff46 "block") at udev-remove.c:170 #8 0x08049760 in main (argc=2, argv=0xbffffd70, envp=0x0) at udev.c:189 (gdb) --------------090502090508000100050609 Content-Type: text/x-troff-man; name="udev.trace.4" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="udev.trace.4" knuth /root# gdb -p 25580 GNU gdb 5.3.92 Copyright 2003 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 "i586-suse-linux". Attaching to process 25580 Reading symbols from /sbin/utest/udev...done. Reading symbols from /lib/i686/libc.so.6...done. Loaded symbols for /lib/i686/libc.so.6 Reading symbols from /lib/ld-linux.so.2...done. Loaded symbols for /lib/ld-linux.so.2 ofs_read (tdb=0xbffff438, offset=20016, d=0x0) at tdb/tdb.c:446 446 tdb/tdb.c: No such file or directory. in tdb/tdb.c (gdb) bt #0 ofs_read (tdb=0xbffff438, offset=20016, d=0x0) at tdb/tdb.c:446 #1 0x080567e4 in remove_from_freelist (tdb=0x80640a8, off=20016, next=0) at tdb/tdb.c:628 #2 0x080568d4 in tdb_free (tdb=0x80640a8, offset=19108, rec=0xbffff520) at tdb/tdb.c:662 #3 0x08057586 in do_delete (tdb=0x80640a8, rec_ptr=19108, rec=0xbffff520) at tdb/tdb.c:1215 #4 0x08057cc4 in tdb_delete (tdb=0x80640a8, key= {dptr = 0xbffff570 "/class/scsi_generic/sg2", dsize = 24}) at tdb/tdb.c:1434 #5 0x0804c475 in udevdb_delete_dev (path=0xbfffff64 "/class/scsi_generic/sg2") at udevdb.c:112 #6 0x0804c218 in udev_remove_device (path=0xbfffff64 "/class/scsi_generic/sg2", subsystem=0xbfffff42 "scsi_generic") at udev-remove.c:182 #7 0x08049760 in main (argc=2, argv=0xbffffd70, envp=0xbffff438) at udev.c:189 --------------090502090508000100050609-- ------------------------------------------------------- This SF.net email is sponsored by: IT Product Guide on ITManagersJournal Use IT products in your business? Tell us what you think of them. Give us Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more http://productguide.itmanagersjournal.com/guidepromo.tmpl _______________________________________________ Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net Linux-hotplug-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel