1

Today I am experiencing problems on my laptop running Fedora 22 with a external USB 3 Seagate hard drive. I plugged the drive in and it wouldn't mount, instead showing low_memory errors in dmesg. Rebooting fixed it initially, but when later on I tried plugging in the disk it wouldn't mount again - this the relevant bit of dmesg:

usb 4-4: new SuperSpeed USB device number 6 using xhci_hcd
[ 2354.749660] usb 4-4: New USB device found, idVendor=0bc2, idProduct=ab24
[ 2354.749680] usb 4-4: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 2354.749684] usb 4-4: Product: BUP Slim BK
[ 2354.749686] usb 4-4: Manufacturer: Seagate
[ 2354.749688] usb 4-4: SerialNumber: NA7KR1X0
[ 2354.752380] scsi host11: uas
[ 2354.752387] kworker/0:2: page allocation failure: order:7, mode:0x208c020
[ 2354.752390] CPU: 0 PID: 8715 Comm: kworker/0:2 Tainted: P           OE   4.4.4-200.fc22.x86_64 #1
[ 2354.752392] Hardware name: LENOVO 62743QG/62743QG, BIOS H1ET84WW(1.22) 11/26/2013
[ 2354.752398] Workqueue: usb_hub_wq hub_event
[ 2354.752401]  0000000000000286 000000001bd47e87 ffff8801219fb4d0 ffffffff813b515e
[ 2354.752404]  000000000208c020 0000000000000000 ffff8801219fb560 ffffffff811b2fea
[ 2354.752406]  0000000000000007 000000008179fbae ffff88021e5e8e00 ffffffffffffff80
[ 2354.752409] Call Trace:
[ 2354.752415]  [<ffffffff813b515e>] dump_stack+0x63/0x85
[ 2354.752419]  [<ffffffff811b2fea>] warn_alloc_failed+0xfa/0x160
[ 2354.752422]  [<ffffffff811b6ec1>] __alloc_pages_nodemask+0x361/0xbc0
[ 2354.752427]  [<ffffffff81202a1c>] alloc_pages_current+0x8c/0x110
[ 2354.752430]  [<ffffffff811b51b9>] alloc_kmem_pages+0x19/0x90
[ 2354.752434]  [<ffffffff811d2f4e>] kmalloc_order_trace+0x2e/0xe0
[ 2354.752438]  [<ffffffff8120e722>] __kmalloc+0x232/0x260
[ 2354.752442]  [<ffffffff8138989d>] init_tag_map+0x3d/0xc0
[ 2354.752445]  [<ffffffff81389965>] __blk_queue_init_tags+0x45/0x80
[ 2354.752448]  [<ffffffff813899b4>] blk_init_tags+0x14/0x20
[ 2354.752452]  [<ffffffff81520b40>] scsi_add_host_with_dma+0x80/0x300
[ 2354.752457]  [<ffffffffa00c1423>] uas_probe+0x3e3/0x520 [uas]
[ 2354.752461]  [<ffffffff8158acad>] usb_probe_interface+0x1bd/0x300
[ 2354.752465]  [<ffffffff814eeeb2>] driver_probe_device+0x222/0x490
[ 2354.752467]  [<ffffffff814ef221>] __device_attach_driver+0x71/0xa0
[ 2354.752470]  [<ffffffff814ef1b0>] ? __driver_attach+0x90/0x90
[ 2354.752472]  [<ffffffff814eca67>] bus_for_each_drv+0x67/0xb0
[ 2354.752474]  [<ffffffff814eeb8c>] __device_attach+0xdc/0x170
[ 2354.752477]  [<ffffffff814ef293>] device_initial_probe+0x13/0x20
[ 2354.752479]  [<ffffffff814ede42>] bus_probe_device+0x92/0xa0
[ 2354.752481]  [<ffffffff814eb9fb>] device_add+0x40b/0x680
[ 2354.752484]  [<ffffffff8157a7b9>] ? usb_enable_lpm+0x89/0x90
[ 2354.752487]  [<ffffffff81588b71>] usb_set_configuration+0x511/0x8e0
[ 2354.752490]  [<ffffffff815934be>] generic_probe+0x2e/0x80
[ 2354.752492]  [<ffffffff8158aab2>] usb_probe_device+0x32/0x70
[ 2354.752495]  [<ffffffff814eeeb2>] driver_probe_device+0x222/0x490
[ 2354.752497]  [<ffffffff814ef221>] __device_attach_driver+0x71/0xa0
[ 2354.752499]  [<ffffffff814ef1b0>] ? __driver_attach+0x90/0x90
[ 2354.752501]  [<ffffffff814eca67>] bus_for_each_drv+0x67/0xb0
[ 2354.752503]  [<ffffffff814eeb8c>] __device_attach+0xdc/0x170
[ 2354.752506]  [<ffffffff814ef293>] device_initial_probe+0x13/0x20
[ 2354.752508]  [<ffffffff814ede42>] bus_probe_device+0x92/0xa0
[ 2354.752509]  [<ffffffff814eb9fb>] device_add+0x40b/0x680
[ 2354.752513]  [<ffffffff814c0400>] ? add_device_randomness+0x50/0x140
[ 2354.752516]  [<ffffffff8157e047>] usb_new_device+0x277/0x4b0
[ 2354.752519]  [<ffffffff8158028d>] hub_event+0x103d/0x1590
[ 2354.752524]  [<ffffffff810bc596>] process_one_work+0x156/0x430
[ 2354.752527]  [<ffffffff810bc8be>] worker_thread+0x4e/0x450
[ 2354.752531]  [<ffffffff8179b955>] ? __schedule+0x3a5/0xa00
[ 2354.752533]  [<ffffffff810bc870>] ? process_one_work+0x430/0x430
[ 2354.752536]  [<ffffffff810bc870>] ? process_one_work+0x430/0x430
[ 2354.752538]  [<ffffffff810c2648>] kthread+0xd8/0xf0
[ 2354.752540]  [<ffffffff810c2570>] ? kthread_worker_fn+0x160/0x160
[ 2354.752543]  [<ffffffff817a048f>] ret_from_fork+0x3f/0x70
[ 2354.752545]  [<ffffffff810c2570>] ? kthread_worker_fn+0x160/0x160
[ 2354.752564] Mem-Info:
[ 2354.752571] active_anon:316599 inactive_anon:48172 isolated_anon:0
                active_file:647763 inactive_file:660760 isolated_file:0
                unevictable:0 dirty:3065 writeback:0 unstable:0
                slab_reclaimable:99971 slab_unreclaimable:20297
                mapped:57919 shmem:49646 pagetables:9709 bounce:0
                free:118581 free_pcp:639 free_cma:0
[ 2354.752576] Node 0 DMA free:15884kB min:20kB low:24kB high:28kB active_anon:0kB inactive_anon:0kB active_file:0kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15984kB managed:15900kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:16kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB free_pcp:0kB local_pcp:0kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? yes
[ 2354.752585] lowmem_reserve[]: 0 3109 7566 7566
[ 2354.752602] Node 0 DMA32 free:270468kB min:4540kB low:5672kB high:6808kB active_anon:503680kB inactive_anon:79744kB active_file:1043728kB inactive_file:1125396kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3266876kB managed:3187136kB mlocked:0kB dirty:4684kB writeback:0kB mapped:96256kB shmem:81308kB slab_reclaimable:97220kB slab_unreclaimable:27128kB kernel_stack:2704kB pagetables:16068kB unstable:0kB bounce:0kB free_pcp:1456kB local_pcp:144kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 2354.752609] lowmem_reserve[]: 0 0 4456 4456
[ 2354.752612] Node 0 Normal free:187972kB min:6504kB low:8128kB high:9756kB active_anon:762716kB inactive_anon:112944kB active_file:1547324kB inactive_file:1517644kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:4691968kB managed:4563068kB mlocked:0kB dirty:7576kB writeback:0kB mapped:135420kB shmem:117276kB slab_reclaimable:302664kB slab_unreclaimable:54044kB kernel_stack:5136kB pagetables:22768kB unstable:0kB bounce:0kB free_pcp:1100kB local_pcp:236kB free_cma:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
[ 2354.752616] lowmem_reserve[]: 0 0 0 0
[ 2354.752619] Node 0 DMA: 1*4kB (U) 1*8kB (U) 2*16kB (U) 1*32kB (U) 1*64kB (U) 1*128kB (U) 1*256kB (U) 0*512kB 1*1024kB (U) 1*2048kB (M) 3*4096kB (M) = 15884kB
[ 2354.752643] Node 0 DMA32: 6*4kB (UME) 8*8kB (UME) 11101*16kB (UME) 2803*32kB (UME) 46*64kB (ME) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 270344kB
[ 2354.752652] Node 0 Normal: 2*4kB (UM) 2*8kB (UM) 8980*16kB (ME) 1326*32kB (UME) 26*64kB (M) 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 187800kB
[ 2354.752661] Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
[ 2354.752663] 1358227 total pagecache pages
[ 2354.752664] 0 pages in swap cache
[ 2354.752665] Swap cache stats: add 0, delete 0, find 0/0
[ 2354.752666] Free swap  = 0kB
[ 2354.752674] Total swap = 0kB
[ 2354.752675] 1993707 pages RAM
[ 2354.752676] 0 pages HighMem/MovableOnly
[ 2354.752677] 52181 pages reserved
[ 2354.752678] 0 pages cma reserved
[ 2354.752679] 0 pages hwpoisoned
[ 2354.753318] uas: probe of 4-4:1.0 failed with error -12

and also the amount of memory/swap at the time (free -m):

              total        used        free      shared  buff/cache   available
Mem:           7584        1237         493         196        5852        6029
Swap:             0           0           0

As it seemed to be because of limited memory, I cleared the memory cache (echo 3 | sudo tee /proc/sys/vm/drop_caches) and tried again, and it worked :). Here is the dmesg:

[ 2714.892041] tee (14048): drop_caches: 3
[ 2724.745378] usb 4-4: USB disconnect, device number 6
[ 2726.561479] usb 4-2: new SuperSpeed USB device number 7 using xhci_hcd
[ 2726.573070] usb 4-2: New USB device found, idVendor=0bc2, idProduct=ab24
[ 2726.573075] usb 4-2: New USB device strings: Mfr=2, Product=3, SerialNumber=1
[ 2726.573077] usb 4-2: Product: BUP Slim BK
[ 2726.573079] usb 4-2: Manufacturer: Seagate
[ 2726.573081] usb 4-2: SerialNumber: NA7KR1X0
[ 2726.575116] scsi host12: uas
[ 2726.576138] scsi 12:0:0:0: Direct-Access     Seagate  BUP Slim BK      0302 PQ: 0 ANSI: 6
[ 2726.576923] sd 12:0:0:0: Attached scsi generic sg3 type 0
[ 2726.576926] sd 12:0:0:0: [sdc] Spinning up disk...
[ 2727.577320] ...ready
[ 2729.581063] sd 12:0:0:0: [sdc] 3907029167 512-byte logical blocks: (2.00 TB/1.82 TiB)
[ 2729.581070] sd 12:0:0:0: [sdc] 2048-byte physical blocks
[ 2729.828378] sd 12:0:0:0: [sdc] Write Protect is off
[ 2729.828387] sd 12:0:0:0: [sdc] Mode Sense: 4f 00 00 00
[ 2729.828631] sd 12:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[ 2729.835161]  sdc: sdc1 sdc2 sdc3
[ 2729.836456] sd 12:0:0:0: [sdc] Attached SCSI disk

And the free -m:

              total        used        free      shared  buff/cache   available
Mem:           7584        1785        5186         228         612        5472
Swap:             0           0           0

This seems odd as I have had the setup for ages and previously have had no issues - the only recent changes I can think of are me filling the drives as I am trying to reinstall another machine:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda6        59G   49G  7.2G  88% /
/dev/sda7        71G   70G  1.2G  99% /media/Music
/dev/sda8       112G   97G   16G  87% /media/Storage
/dev/sda5       111G   84G   21G  81% /home
/dev/sdc1       448G  434G   14G  97% /run/media/wilf/Seagate Backup Plus Drive
/dev/sdc2       917G  867G  3.3G 100% /run/media/wilf/Ext1
/dev/sdc3       477G  428G   25G  95% /run/media/wilf/Ext2

and perhaps the system being updated. So please:

  • Why did this happen (and how can I fix it)?
  • Would having some swap help with issue?
  • Shouldn't memory cache clear itself if needed anyway (linuxatemyram and all that)?
1

I guess you ran into this issue in the uas driver. It should should be fixed in 4.6-rc1 as per commit 55ff8cfb:

The uas driver can never queue more then MAX_CMNDS (- 1) tags and tags
are shared between luns, so there is no need to claim that we can_queue
some random large number.

Not claiming that we can_queue 65536 commands, fixes the uas driver
failing to initialize while allocating the tag map with a "Page allocation
failure (order 7)" error on systems which have been running for a while
and thus have fragmented memory.
  • Please don't just paste links: include enough of the content so that if the link dies the answer is still valid... – jasonwryan Apr 3 '16 at 19:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.