Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
eSATA writing causes hard lockups
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware
View previous topic :: View next topic  
Author Message
absoluteflatness
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2007
Posts: 138
Location: Blacksburg or Falls Church, VA

PostPosted: Tue Jan 29, 2008 10:38 am    Post subject: eSATA writing causes hard lockups Reply with quote

So, I have myself one of the much-maligned Seagate FreeAgent Pro external drives, which can connect by either USB or eSATA. I originally had it connected with USB, which I've got working fine, but I wanted it connected with the faster eSATA interface.

My early uses of the drive connected with eSATA (through an eSATA-SATA bracket connected to nvidia sata headers) were positive. Then soon after, I started getting hard lockups, with the entire system going completely unresponsive. I eventually realized that this always happened while I was doing a fairly large write to the eSATA drive. The first time, I was tar-ing up my home folder onto the drive, and the next several times, I was ripping a CD to the drive.

So, to sum up: the USB interface works fine on both read and write, and eSATA works fine for reading, and locks up the system on sizable writes. Anyone have any success with eSATA? The culprit could easily be the bracket, the drive, or Linux. I don't have another eSATA-ified system to test with, and the log files show no errors.

I'm pretty stumped on this one.
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Tue Jan 29, 2008 11:45 am    Post subject: Reply with quote

You could try if it works using a 2.6.24 kernel. In 2.6.24, a per device dirty threshold is used, maybe it fixes your problem.

I refer to this patch: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04fbfdc14e5f48463820d6b9807daa5e9c92c51f. I'm not sure whether it applies only to the two examples mentioned there, so just try...
_________________
Never argue with an idiot. He brings you down to his level, then beats you with experience.

How-To: Daten verschlüsselt auf DVD speichern.
Back to top
View user's profile Send private message
Akkara
Bodhisattva
Bodhisattva


Joined: 28 Mar 2006
Posts: 6702
Location: &akkara

PostPosted: Tue Jan 29, 2008 2:01 pm    Post subject: Reply with quote

It *might* be due to slightly different electrical specs between sata and esata.

I had a similar problem when I had hooked up a esata drive to a internal sata connector on a older mobo, using a sata to esata cable. The machine ran for slightly longer when I tried using a shorter cable. The problem went away completely after I had upgraded the mobo to one that had a real esata connector.

I don't know if anyone makes a buffered sata-to-esata bracket but that might be something to try if the above-mentioned patch doesn't work for you.
Back to top
View user's profile Send private message
absoluteflatness
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2007
Posts: 138
Location: Blacksburg or Falls Church, VA

PostPosted: Wed Jan 30, 2008 2:13 pm    Post subject: Reply with quote

I had upgraded to 2.6.24, but was experiencing some other issues. I started getting unkillable running processes taking 100% cpu, (cdparanoia and kio_file to be specific). Rather than try to pin down the problem, I switched back to 2.6.23.

I'll switch back again and see if I've got any eSATA joy. I'm still entertaining the possibility that it's the bracket setup that's messing everything up (pretty annoying that a foot or so of cable could bork everything so effectively), but if that's the case, I don't really see myself getting an eSATA controller card. My gut tells me that if reads work, but just not writes, it shouldn't be an electrical problem, but these things are never so simple as one would like.

The main tangible benefit I had with eSATA is that the drive sleep/wakeup feature works 10 times better on eSATA than USB. The filesystem seen by linux liked to get messed up during the wakeup process (probably ntfs-3g's fault) over USB, so I always end up manually un-and-re-mounting. Worked seamlessly on eSATA.
Back to top
View user's profile Send private message
absoluteflatness
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2007
Posts: 138
Location: Blacksburg or Falls Church, VA

PostPosted: Wed Feb 06, 2008 8:59 pm    Post subject: Reply with quote

So, I've finally had time to test out the eSATA drive in kernel 2.6.24. Results: different, but not good.

Mounting through either hal or manually fails, and throws out some unhappy looking segfaults from the kernel.

Code:
Feb  6 15:40:55 boxy ntfs-3g[7707]: Version 1.2129 integrated FUSE 27
Feb  6 15:40:55 boxy ntfs-3g[7707]: Mounted /dev/sdb1 (Read-Write, label "FreeAgent Drive", NTFS 3.1)
Feb  6 15:40:55 boxy ntfs-3g[7707]: Cmdline options: locale=en_US.utf8
Feb  6 15:40:55 boxy ntfs-3g[7707]: Mount options: silent,allow_other,nonempty,relatime,fsname=/dev/sdb1,blkdev,blksize=4096
Feb  6 15:40:55 boxy Unable to handle kernel NULL pointer dereference at 0000000000000064 RIP:
Feb  6 15:40:55 boxy [<ffffffff804477cc>] _spin_lock_irqsave+0x18/0x72
Feb  6 15:40:55 boxy PGD 76cb8067 PUD 70801067 PMD 0
Feb  6 15:40:55 boxy Oops: 0002 [2] PREEMPT SMP
Feb  6 15:40:55 boxy CPU 0
Feb  6 15:40:55 boxy Modules linked in: fuse it87 hwmon_vid eeprom snd_seq_midi snd_emu10k1_synth snd_emux_synth snd_seq_virmidi snd_seq_midi_emul snd_pcm_oss snd_mixer_oss snd_seq_oss snd_seq_midi_event snd_seq xfs wm8775 nvidia(P) cx25840 tuner tea5767 tda8290 snd_emu10k1 tuner_simple mt20xx tea5761 snd_rawmidi snd_ac97_codec ivtv ac97_bus i2c_algo_bit snd_pcm cx2341x tveeprom snd_seq_device snd_timer videodev snd_page_alloc firewire_ohci snd_util_mem firewire_core v4l2_common snd_hwdep v4l1_compat i2c_nforce2 snd joydev crc_itu_t i2c_core skge k8temp soundcore hwmon
Feb  6 15:40:55 boxy Pid: 7707, comm: ntfs-3g Tainted: P      D 2.6.24-gentoo #2
Feb  6 15:40:55 boxy RIP: 0010:[<ffffffff804477cc>]  [<ffffffff804477cc>] _spin_lock_irqsave+0x18/0x72
Feb  6 15:40:55 boxy RSP: 0018:ffff810078857b88  EFLAGS: 00010046
Feb  6 15:40:55 boxy RAX: 0000000000000000 RBX: 0000000000000064 RCX: 0000000000000000
Feb  6 15:40:55 boxy RDX: 0000000000000202 RSI: ffff810023c94038 RDI: 0000000000000064
Feb  6 15:40:55 boxy RBP: 0000000000000060 R08: 0000000000000000 R09: ffff810078857cd8
Feb  6 15:40:55 boxy R10: 0000000000000000 R11: ffffffff802ece2b R12: ffff8100738b9c00
Feb  6 15:40:55 boxy R13: ffff810023c94038 R14: ffff810078857cd8 R15: ffff810078857ed8
Feb  6 15:40:55 boxy FS:  00002b6853c22b00(0000) GS:ffffffff80556000(0000) knlGS:0000000000000000
Feb  6 15:40:55 boxy CS:  0010 DS: 0000 ES: 0000 CR0: 000000008005003b
Feb  6 15:40:55 boxy CR2: 0000000000000064 CR3: 000000005809d000 CR4: 00000000000006e0
Feb  6 15:40:55 boxy DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000
Feb  6 15:40:55 boxy DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400
Feb  6 15:40:55 boxy Process ntfs-3g (pid: 7707, threadinfo ffff810078856000, task ffff8100709b1590)
Feb  6 15:40:55 boxy Stack:  0000000000000064 ffffffff80447251 0000000000000202 0000000000000001
Feb  6 15:40:55 boxy ffff810078857be8 ffffffff8022c408 ffff81007d828408 ffff810023c94000
Feb  6 15:40:55 boxy ffff810078857cd8 ffffffff88a392ed 0000000000000080 0000000000000000
Feb  6 15:40:55 boxy Call Trace:
Feb  6 15:40:55 boxy [<ffffffff80447251>] __down_read+0x15/0x9e
Feb  6 15:40:55 boxy [<ffffffff8022c408>] __wake_up+0x38/0x4e
Feb  6 15:40:55 boxy [<ffffffff88a392ed>] :fuse:fuse_ctl_init+0xb717a/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3941a>] :fuse:fuse_ctl_init+0xb72a7/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3a457>] :fuse:fuse_abort_conn+0x7c9/0x921
Feb  6 15:40:55 boxy [<ffffffff80263ef1>] zone_statistics+0x41/0x62
Feb  6 15:40:55 boxy [<ffffffff8025daa8>] get_page_from_freelist+0x481/0x61a
Feb  6 15:40:55 boxy [<ffffffff802588c0>] find_lock_page+0x88/0x94
Feb  6 15:40:55 boxy [<ffffffff8026570e>] __do_fault+0x357/0x3a3
Feb  6 15:40:55 boxy [<ffffffff8022ca2a>] default_wake_function+0x0/0xe
Feb  6 15:40:55 boxy [<ffffffff8028104d>] do_sync_read+0xd1/0x118
Feb  6 15:40:55 boxy [<ffffffff80267084>] handle_mm_fault+0x35e/0x6bb
Feb  6 15:40:55 boxy [<ffffffff8024550a>] autoremove_wake_function+0x0/0x2e
Feb  6 15:40:55 boxy [<ffffffff802218f6>] do_page_fault+0x367/0x6b5
Feb  6 15:40:55 boxy [<ffffffff80281837>] vfs_read+0xc3/0x14b
Feb  6 15:40:55 boxy [<ffffffff80281bcb>] sys_read+0x45/0x6e
Feb  6 15:40:55 boxy [<ffffffff8020b7de>] system_call+0x7e/0x83
Feb  6 15:40:55 boxy
Feb  6 15:40:55 boxy
Feb  6 15:40:55 boxy Code: 87 03 85 c0 7f 48 52 9d 65 48 8b 04 25 10 00 00 00 ff 88 44
Feb  6 15:40:55 boxy RIP  [<ffffffff804477cc>] _spin_lock_irqsave+0x18/0x72
Feb  6 15:40:55 boxy RSP <ffff810078857b88>
Feb  6 15:40:55 boxy CR2: 0000000000000064
Feb  6 15:40:55 boxy ---[ end trace b08d569191442311 ]---
Feb  6 15:40:55 boxy note: ntfs-3g[7707] exited with preempt_count 1
Feb  6 15:40:55 boxy BUG: scheduling while atomic: ntfs-3g/7707/0x10000002
Feb  6 15:40:55 boxy Pid: 7707, comm: ntfs-3g Tainted: P      D 2.6.24-gentoo #2
Feb  6 15:40:55 boxy
Feb  6 15:40:55 boxy Call Trace:
Feb  6 15:40:55 boxy [<ffffffff80445c84>] schedule+0xd1/0x5e7
Feb  6 15:40:55 boxy [<ffffffff8022f6c1>] __cond_resched+0x1c/0x44
Feb  6 15:40:55 boxy [<ffffffff80446423>] cond_resched+0x2e/0x39
Feb  6 15:40:55 boxy [<ffffffff8026659a>] unmap_vmas+0x5fa/0x7be
Feb  6 15:40:55 boxy [<ffffffff80269f8d>] exit_mmap+0x85/0x121
Feb  6 15:40:55 boxy [<ffffffff80230919>] mmput+0x20/0x9a
Feb  6 15:40:55 boxy [<ffffffff80236042>] do_exit+0x222/0x728
Feb  6 15:40:55 boxy [<ffffffff80221b81>] do_page_fault+0x5f2/0x6b5
Feb  6 15:40:55 boxy [<ffffffff8022b6f7>] enqueue_task_fair+0x72/0x93
Feb  6 15:40:55 boxy [<ffffffff80447e39>] error_exit+0x0/0x51
Feb  6 15:40:55 boxy [<ffffffff802ece2b>] dummy_file_permission+0x0/0x3
Feb  6 15:40:55 boxy [<ffffffff804477cc>] _spin_lock_irqsave+0x18/0x72
Feb  6 15:40:55 boxy [<ffffffff80447251>] __down_read+0x15/0x9e
Feb  6 15:40:55 boxy [<ffffffff8022c408>] __wake_up+0x38/0x4e
Feb  6 15:40:55 boxy [<ffffffff88a392ed>] :fuse:fuse_ctl_init+0xb717a/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3941a>] :fuse:fuse_ctl_init+0xb72a7/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3a457>] :fuse:fuse_abort_conn+0x7c9/0x921
Feb  6 15:40:55 boxy [<ffffffff80263ef1>] zone_statistics+0x41/0x62
Feb  6 15:40:55 boxy [<ffffffff8025daa8>] get_page_from_freelist+0x481/0x61a
Feb  6 15:40:55 boxy [<ffffffff802588c0>] find_lock_page+0x88/0x94
Feb  6 15:40:55 boxy [<ffffffff8026570e>] __do_fault+0x357/0x3a3
Feb  6 15:40:55 boxy [<ffffffff8022ca2a>] default_wake_function+0x0/0xe
Feb  6 15:40:55 boxy [<ffffffff8028104d>] do_sync_read+0xd1/0x118
Feb  6 15:40:55 boxy [<ffffffff80267084>] handle_mm_fault+0x35e/0x6bb
Feb  6 15:40:55 boxy [<ffffffff8024550a>] autoremove_wake_function+0x0/0x2e
Feb  6 15:40:55 boxy [<ffffffff802218f6>] do_page_fault+0x367/0x6b5
Feb  6 15:40:55 boxy [<ffffffff80281837>] vfs_read+0xc3/0x14b
Feb  6 15:40:55 boxy [<ffffffff80281bcb>] sys_read+0x45/0x6e
Feb  6 15:40:55 boxy [<ffffffff8020b7de>] system_call+0x7e/0x83
Feb  6 15:40:55 boxy
Feb  6 15:40:55 boxy BUG: scheduling while atomic: ntfs-3g/7707/0x00000002
Feb  6 15:40:55 boxy Pid: 7707, comm: ntfs-3g Tainted: P      D 2.6.24-gentoo #2
Feb  6 15:40:55 boxy
Feb  6 15:40:55 boxy Call Trace:
Feb  6 15:40:55 boxy [<ffffffff80445c84>] schedule+0xd1/0x5e7
Feb  6 15:40:55 boxy [<ffffffff8044769b>] __down+0xe9/0x101
Feb  6 15:40:55 boxy [<ffffffff8022ca2a>] default_wake_function+0x0/0xe
Feb  6 15:40:55 boxy [<ffffffff8044730f>] __down_failed+0x35/0x3a
Feb  6 15:40:55 boxy [<ffffffff80447d46>] lock_kernel+0x25/0x29
Feb  6 15:40:55 boxy [<ffffffff802a434f>] __blkdev_put+0x29/0x125
Feb  6 15:40:55 boxy [<ffffffff80281fdf>] __fput+0xa1/0x16c
Feb  6 15:40:55 boxy [<ffffffff8027f83d>] filp_close+0x5d/0x65
Feb  6 15:40:55 boxy [<ffffffff80234d3c>] put_files_struct+0x66/0xc5
Feb  6 15:40:55 boxy [<ffffffff80236052>] do_exit+0x232/0x728
Feb  6 15:40:55 boxy [<ffffffff80221b81>] do_page_fault+0x5f2/0x6b5
Feb  6 15:40:55 boxy [<ffffffff8022b6f7>] enqueue_task_fair+0x72/0x93
Feb  6 15:40:55 boxy [<ffffffff80447e39>] error_exit+0x0/0x51
Feb  6 15:40:55 boxy [<ffffffff802ece2b>] dummy_file_permission+0x0/0x3
Feb  6 15:40:55 boxy [<ffffffff804477cc>] _spin_lock_irqsave+0x18/0x72
Feb  6 15:40:55 boxy [<ffffffff80447251>] __down_read+0x15/0x9e
Feb  6 15:40:55 boxy [<ffffffff8022c408>] __wake_up+0x38/0x4e
Feb  6 15:40:55 boxy [<ffffffff88a392ed>] :fuse:fuse_ctl_init+0xb717a/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3941a>] :fuse:fuse_ctl_init+0xb72a7/0xb74da
Feb  6 15:40:55 boxy [<ffffffff88a3a457>] :fuse:fuse_abort_conn+0x7c9/0x921
Feb  6 15:40:55 boxy [<ffffffff80263ef1>] zone_statistics+0x41/0x62
Feb  6 15:40:55 boxy [<ffffffff8025daa8>] get_page_from_freelist+0x481/0x61a
Feb  6 15:40:55 boxy [<ffffffff802588c0>] find_lock_page+0x88/0x94
Feb  6 15:40:55 boxy [<ffffffff8026570e>] __do_fault+0x357/0x3a3
Feb  6 15:40:55 boxy [<ffffffff8022ca2a>] default_wake_function+0x0/0xe
Feb  6 15:40:55 boxy [<ffffffff8028104d>] do_sync_read+0xd1/0x118
Feb  6 15:40:55 boxy [<ffffffff80267084>] handle_mm_fault+0x35e/0x6bb
Feb  6 15:40:55 boxy [<ffffffff8024550a>] autoremove_wake_function+0x0/0x2e
Feb  6 15:40:55 boxy [<ffffffff802218f6>] do_page_fault+0x367/0x6b5
Feb  6 15:40:55 boxy [<ffffffff80281837>] vfs_read+0xc3/0x14b
Feb  6 15:40:55 boxy [<ffffffff80281bcb>] sys_read+0x45/0x6e
Feb  6 15:40:55 boxy [<ffffffff8020b7de>] system_call+0x7e/0x83
Feb  6 15:40:55 boxy


The stuff at the top of the stack must be from the fuse module. As suggested by the ntfs-3g developers, I'm using the in-kernel-tree fuse module, not the sys-fs/fuse package. I'm using fuse 1.2129, the latest stable version.

The only other time I used kernel 2.6.24 was with the USB interface, it's possible i was getting problems like this then too, I never actually checked.
Back to top
View user's profile Send private message
absoluteflatness
Tux's lil' helper
Tux's lil' helper


Joined: 21 Jan 2007
Posts: 138
Location: Blacksburg or Falls Church, VA

PostPosted: Thu Feb 07, 2008 8:11 am    Post subject: Reply with quote

So, I fixed the segfault from above, I had an old sys-fs/fuse module laying around. I had deleted it from my 2.6.23 modules dir, but forgot to do it for 2.6.24. Unfortunately, that did nothing to fix the "total lockup" problem from before. This time, I was deliberately not using the drive at all, and the system locked up completely. Once again, nothing of note in the syslog, the last thing to get logged before the freeze was the periodical cron check.

So, am I doomed on eSATA here? I'd really rather use it, but does that mean the bracket has to go? I'll look into prices on eSATA controllers, but unless they're pretty cheap, I probably won't be getting one anytime soon. Any suggestions for other options to try, or specific good controller chips to look for?
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Kernel & Hardware All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum