Re: Problems in 3.3.x with via VT6315
Brought to you by:
aeb,
bencollins
|
From: Lluís B. i R. <vi...@vi...> - 2012-05-08 15:11:24
|
On Tue, May 08, 2012 at 04:27:20PM +0200, Clemens Ladisch wrote:
> Lluís Batlle i Rossell wrote:
> > On Tue, May 08, 2012 at 02:00:15PM +0200, Clemens Ladisch wrote:
> >> Lluís Batlle i Rossell wrote:
> >>> here we have two computers, both with VT6315, running all x86_64, one is an
> >>> intel i7 and the other an amd Phenom II.
> >>>
> >>> The I7 runs 2.6.35 and dc1394 cameras work perfectly in it.
> >>> The Phenom II runs 3.3.4 and dc1394 cameras work for a short seconds, and hang.
> >>> Then the process hangs too. Killing the process leaves it <defunct> (unrelated
> >>> to the parent accepting it or not).
> >>
> >> Apparently, the driver is waiting for the hardware to do something.
> >>
> >> When this happens, are there any messages in the system log (see the output of
> >> dmesg)?
> >
> > Nothing there. I only get some lines if I disconnect the camera, but the process
> > remains <defunct>.
> The FireWire stack was completely rewritten. Check that your libraw1394 package
> is recent enough (current is 2.0.8, but 2.0.6 or newer should work). In any
> case, this library could not cause the kernel to lock up.
I'm using libraw1394 2.0.7. I can try 2.0.8. I will later.
The program just blocked (in 3.3.4), and I attach strace:
read(13,
I look at the fd 13 in /proc:
13 -> /dev/fw1
I use kill. SIGINT causes the read() call to restart:
read(13, 0x7fff19de7760, 40) = ? ERESTARTSYS (To be restarted)
--- {si_signo=SIGINT, si_code=SI_KERNEL, si_value={int=1174533440, ptr=0x7fbf4601f540}} (Interrupt) ---
rt_sigaction(SIGINT, {0x7fe92d954390, [INT], SA_RESTORER|SA_RESTART, 0x7fe92b4e8b10}, {0x7fe92d954390, [INT], SA_RESTORER|SA_RESTART, 0x7fe92b4e8b10}, 8) = 0
rt_sigreturn(0) = 0
read(13,
If now with strace attached I use kill -9, strace does not notice that. Ctrl-C
to the strace, hangs:
read(13, ^C <unfinished ...>
cat /proc/5918/status:
Name: cc1394
State: D (disk sleep)
....
If I hadn't had strace attached, the process would appear defunct - as I tried
other times.
Unplugging the fw camera does not show any message in dmesg.
Now issuing the sysreq w shows one task:
[17613.274738] SysRq : Show Blocked State
[17613.274749] task PC stack pid father
[17613.274790] cc1394 D ffffffff81407520 0 5918 5880 0x00000005
[17613.274801] ffff880032101b68 0000000000000046 ffff880032101b08 ffff880000000000
[17613.274810] ffff8801285ea940 ffff880032101fd8 ffff880032101fd8 ffff880032101fd8
[17613.274819] ffff880129ace040 ffff8801285ea940 ffff880032101b78 ffff8800364a2c00
[17613.274828] Call Trace:
[17613.274843] [<ffffffff813c8baf>] schedule+0x3f/0x60
[17613.274882] [<ffffffffa0106fcd>] fw_device_op_release+0x18d/0x250 [firewire_core]
[17613.274894] [<ffffffff8106b7c0>] ? add_wait_queue+0x60/0x60
[17613.274904] [<ffffffff8114c6ba>] fput+0xea/0x220
[17613.274912] [<ffffffff81149466>] filp_close+0x66/0x90
[17613.274921] [<ffffffff8104cc88>] put_files_struct+0x88/0xf0
[17613.274930] [<ffffffff8104cd9a>] exit_files+0x4a/0x60
[17613.274938] [<ffffffff8104d277>] do_exit+0x197/0x870
[17613.274946] [<ffffffff8104dcb4>] do_group_exit+0x44/0xa0
[17613.274955] [<ffffffff8105d7c5>] get_signal_to_deliver+0x215/0x5e0
[17613.274964] [<ffffffff810131b5>] do_signal+0x65/0x710
[17613.274972] [<ffffffff8104dfbb>] ? sys_wait4+0xab/0xf0
[17613.274979] [<ffffffff8106b7c0>] ? add_wait_queue+0x60/0x60
[17613.274987] [<ffffffff810138e5>] do_notify_resume+0x65/0x80
[17613.274996] [<ffffffff813ca7a2>] int_signal+0x12/0x17
Does it tell enough to you? Any other test?
Regards,
Lluís.
|