2008-08-08 03:07:20

by Neil Schemenauer

[permalink] [raw]
Subject: Hung task while reading USB mass storage device (2.6.26)

Hi,

This happened with 2.6.26 on an AMD64 machine. I was attempting to
read an entire partition on a SD card attached to a USB reader.
sysreq-W gives:

dd D ffff8100010018b8 0 3887 3876
ffff810062a9dac8 0000000000000046 ffff81002f9ee420 ffff810054f80c28
ffffffff8047f8c0 ffff810062a9da78 ffff810062a9db58 ffffffff805d4f00
ffffffff805d4f00 ffffffff805d2270 ffffffff805d4f00 ffff81006e2106d0
Call Trace:
[<ffffffff8025403b>] find_get_pages_tag+0x34/0x7e
[<ffffffff80254200>] sync_page+0x0/0x41
[<ffffffff8045aaab>] io_schedule+0x28/0x33
[<ffffffff8025423c>] sync_page+0x3c/0x41
[<ffffffff8045abf0>] __wait_on_bit_lock+0x3f/0x72
[<ffffffff802541ec>] __lock_page+0x5e/0x64
[<ffffffff8023ef3e>] wake_bit_function+0x0/0x23
[<ffffffff8025b884>] pagevec_lookup+0x17/0x1e
[<ffffffff8025bfae>] truncate_inode_pages_range+0x251/0x2d9
[<ffffffff80296c79>] __blkdev_put+0x4f/0x11c
[<ffffffff80274a77>] __fput+0xb1/0x176
[<ffffffff802723cb>] filp_close+0x5d/0x65
[<ffffffff8022ff6c>] put_files_struct+0x66/0xc4
[<ffffffff802311f7>] do_exit+0x23a/0x639
[<ffffffff8023745e>] __dequeue_signal+0x19/0x15a
[<ffffffff8023165c>] do_group_exit+0x66/0x93
[<ffffffff802392d8>] get_signal_to_deliver+0x2d5/0x2f2
[<ffffffff8020b1a7>] do_notify_resume+0xac/0x7d3
[<ffffffff8023ef10>] autoremove_wake_function+0x0/0x2e
[<ffffffff802743f4>] vfs_read+0x11e/0x132
[<ffffffff80274e18>] fget_light+0x19/0x8a
[<ffffffff8020be54>] sysret_signal+0x1c/0x27
[<ffffffff8020c0d7>] ptregscall_common+0x67/0xb0

I hope this information is useful.

Neil


2008-08-08 20:49:21

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: Hung task while reading USB mass storage device (2.6.26)

[Adding CCs]

On Friday, 8 of August 2008, Neil Schemenauer wrote:
> Hi,
>
> This happened with 2.6.26 on an AMD64 machine. I was attempting to
> read an entire partition on a SD card attached to a USB reader.
> sysreq-W gives:
>
> dd D ffff8100010018b8 0 3887 3876
> ffff810062a9dac8 0000000000000046 ffff81002f9ee420 ffff810054f80c28
> ffffffff8047f8c0 ffff810062a9da78 ffff810062a9db58 ffffffff805d4f00
> ffffffff805d4f00 ffffffff805d2270 ffffffff805d4f00 ffff81006e2106d0
> Call Trace:
> [<ffffffff8025403b>] find_get_pages_tag+0x34/0x7e
> [<ffffffff80254200>] sync_page+0x0/0x41
> [<ffffffff8045aaab>] io_schedule+0x28/0x33
> [<ffffffff8025423c>] sync_page+0x3c/0x41
> [<ffffffff8045abf0>] __wait_on_bit_lock+0x3f/0x72
> [<ffffffff802541ec>] __lock_page+0x5e/0x64
> [<ffffffff8023ef3e>] wake_bit_function+0x0/0x23
> [<ffffffff8025b884>] pagevec_lookup+0x17/0x1e
> [<ffffffff8025bfae>] truncate_inode_pages_range+0x251/0x2d9
> [<ffffffff80296c79>] __blkdev_put+0x4f/0x11c
> [<ffffffff80274a77>] __fput+0xb1/0x176
> [<ffffffff802723cb>] filp_close+0x5d/0x65
> [<ffffffff8022ff6c>] put_files_struct+0x66/0xc4
> [<ffffffff802311f7>] do_exit+0x23a/0x639
> [<ffffffff8023745e>] __dequeue_signal+0x19/0x15a
> [<ffffffff8023165c>] do_group_exit+0x66/0x93
> [<ffffffff802392d8>] get_signal_to_deliver+0x2d5/0x2f2
> [<ffffffff8020b1a7>] do_notify_resume+0xac/0x7d3
> [<ffffffff8023ef10>] autoremove_wake_function+0x0/0x2e
> [<ffffffff802743f4>] vfs_read+0x11e/0x132
> [<ffffffff80274e18>] fget_light+0x19/0x8a
> [<ffffffff8020be54>] sysret_signal+0x1c/0x27
> [<ffffffff8020c0d7>] ptregscall_common+0x67/0xb0
>
> I hope this information is useful.
>
> Neil
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>
>

2008-08-08 21:51:17

by Alan Stern

[permalink] [raw]
Subject: Re: Hung task while reading USB mass storage device (2.6.26)

On Fri, 8 Aug 2008, Rafael J. Wysocki wrote:

> On Friday, 8 of August 2008, Neil Schemenauer wrote:
> > Hi,
> >
> > This happened with 2.6.26 on an AMD64 machine. I was attempting to
> > read an entire partition on a SD card attached to a USB reader.
> > sysreq-W gives:
> >
> > dd D ffff8100010018b8 0 3887 3876
> > ffff810062a9dac8 0000000000000046 ffff81002f9ee420 ffff810054f80c28
> > ffffffff8047f8c0 ffff810062a9da78 ffff810062a9db58 ffffffff805d4f00
> > ffffffff805d4f00 ffffffff805d2270 ffffffff805d4f00 ffff81006e2106d0
> > Call Trace:
> > [<ffffffff8025403b>] find_get_pages_tag+0x34/0x7e
> > [<ffffffff80254200>] sync_page+0x0/0x41
> > [<ffffffff8045aaab>] io_schedule+0x28/0x33
> > [<ffffffff8025423c>] sync_page+0x3c/0x41
> > [<ffffffff8045abf0>] __wait_on_bit_lock+0x3f/0x72
> > [<ffffffff802541ec>] __lock_page+0x5e/0x64
> > [<ffffffff8023ef3e>] wake_bit_function+0x0/0x23
> > [<ffffffff8025b884>] pagevec_lookup+0x17/0x1e
> > [<ffffffff8025bfae>] truncate_inode_pages_range+0x251/0x2d9
> > [<ffffffff80296c79>] __blkdev_put+0x4f/0x11c
> > [<ffffffff80274a77>] __fput+0xb1/0x176
> > [<ffffffff802723cb>] filp_close+0x5d/0x65
> > [<ffffffff8022ff6c>] put_files_struct+0x66/0xc4
> > [<ffffffff802311f7>] do_exit+0x23a/0x639
> > [<ffffffff8023745e>] __dequeue_signal+0x19/0x15a
> > [<ffffffff8023165c>] do_group_exit+0x66/0x93
> > [<ffffffff802392d8>] get_signal_to_deliver+0x2d5/0x2f2
> > [<ffffffff8020b1a7>] do_notify_resume+0xac/0x7d3
> > [<ffffffff8023ef10>] autoremove_wake_function+0x0/0x2e
> > [<ffffffff802743f4>] vfs_read+0x11e/0x132
> > [<ffffffff80274e18>] fget_light+0x19/0x8a
> > [<ffffffff8020be54>] sysret_signal+0x1c/0x27
> > [<ffffffff8020c0d7>] ptregscall_common+0x67/0xb0
> >
> > I hope this information is useful.

In fact it isn't.

Much more useful would be the stack information for the khubd,
usb-storage, and scsi-eh threads, plus also the dmesg log from a
system build with CONFIG_USB_DEBUG enabled.

Alan Stern