Bug 240774

Summary: libiec61883-utils' test-mpeg2 utility segfaults with new firewire stack
Product: [Fedora] Fedora Reporter: Jarod Wilson <jarod>
Component: libiec61883Assignee: Jarod Wilson <jarod>
Status: CLOSED RAWHIDE QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 9CC: fenlason, krh, lists, mozilla_bugs, stefan-r-rhbz, warlord
Target Milestone: ---Keywords: Reopened
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-03-19 20:45:14 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
strace of test-mpeg2 none

Description Jarod Wilson 2007-05-21 16:00:57 UTC
Description of problem:
The test-mpeg2 utility from libiec61883-utils segfaults when running with the
new firewire stack. strace dump forthcoming.

Version-Release number of selected component (if applicable):
libiec61883-utils-1.1.0-1.fc7
kernel-2.6.21-1.3142.fc7

How reproducible:
1. run plugreport to see what devices are on the firewire bus:
Host Adapter 0
==============

Node 0 GUID 0xf0219500009521f0
------------------------------
libiec61883 error: error reading oMPR
libiec61883 error: error reading iMPR

Node 1 GUID 0x000ce5fffe719455
------------------------------
oMPR n_plugs=1, data_rate=2, bcast_channel=63
oPCR[0] online=1, bcast_connection=0, n_p2p_connections=0
        channel=0, data_rate=2, overhead_id=0, payload=376
iMPR n_plugs=0, data_rate=2

Node 2 GUID 0x0019e3fffe2da720
------------------------------
libiec61883 error: error reading oMPR
libiec61883 error: error reading iMPR

2. run 'test-mpeg2 -r 1 > testcap.ts' to try to grab video off device
(firewire-enabled cable box).
$ test-mpeg2 -r 1 > testcap.ts
Segmentation fault


Additional info:
works fine under FC6

Comment 1 Jarod Wilson 2007-05-21 16:02:21 UTC
Created attachment 155104 [details]
strace of test-mpeg2

Comment 2 Jarod Wilson 2007-07-17 15:27:52 UTC
With the latest released F7 kernel (2.6.21-1.3228.fc7) and all other bits at
their latest versions, I'm not getting a segfault when running as a normal user.
Instead, I get this:

[jarod@ares ~]$ test-mpeg2 -r 1 > testcap.ts
Failed to get libraw1394 handle

When run as root however, much badness, even beyond just the segfault...

[root@ares ~]# test-mpeg2 -r 1 > testcap.ts
libiec61883 warning: iec61883_cmp_overlay_p2p_output: Failed to set the oPCR[0]
plug for node 1.
libiec61883 warning: Overlayed connection on channel -1.
You may need to manually set the channel on the receiving node.
Connect failed, reverting to broadcast channel 63.
Segmentation fault
[root@ares ~]# 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: Oops: 0000 [#2]
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: SMP 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: CPU:    1
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: EIP:    0060:[<f8d2bab8>]    Tainted: GF      VLI
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: EFLAGS: 00210282   (2.6.21-1.3228.fc7 #1)
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: EIP is at fw_iso_context_destroy+0x0/0x8 [fw_core]
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: eax: ffffffea   ebx: 00000008   ecx: f8d2cab7   edx: f0d192c0
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: esi: f08443c0   edi: f7616258   ebp: f0d192c0   esp: e05acf60
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: ds: 007b   es: 007b   fs: 00d8  gs: 0033  ss: 0068
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: Process test-mpeg2 (pid: 17819, ti=e05ac000 task=f11638f0
task.ti=e05ac000)
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: Stack: f8d2cadc 00000008 f7616258 c047654f 00000000 00000000
f7545198 c20bf0c0 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:        f0d192c0 f7c160c0 00000000 e05ac000 c047405d bfeae634
f7c160c0 0000000a 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:        f0d192c0 c0474f8c 0000000a 09b3d008 00000001 c0404f70
0000000a ffffffc8 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: Call Trace:
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<f8d2cadc>] fw_device_op_release+0x25/0xa2 [fw_core]
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<c047654f>] __fput+0xb4/0x16a
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<c047405d>] filp_close+0x51/0x58
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<c0474f8c>] sys_close+0x6e/0xa5
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<c0404f70>] syscall_call+0x7/0xb
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  [<c0600000>] __sched_text_start+0x570/0x89e
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel:  =======================
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: Code: 02 00 00 74 07 0f ac d0 19 c1 ea 19 0f c8 31 c9 89 45 00 89
fa 89 f0 5b 5e 5f 5d e9 ec f5 ff ff 0f 0b eb fe b9 07 00 00 00 eb e8 <8b> 10 8b
12 ff 52 28 c3 56 53 83 ec 04 8b 18 8b 33 8b 5c 24 10 
Message from syslogd@ at Tue Jul 17 11:21:06 2007 ...
ares kernel: EIP: [<f8d2bab8>] fw_iso_context_destroy+0x0/0x8 [fw_core] SS:ESP
0068:e05acf60

A bit over my head here, reassigning to krh, in hopes he has some
ideas/suggestions... One thing I'm not certain of is whether or not the cable
box is on at the moment, or if it makes a difference one way or the other.

Derek, I don't suppose you're seeing similar behavior? (this bug seems it could
be at least somewhat related to bug 241729).

Comment 3 Jarod Wilson 2007-07-20 18:33:20 UTC
Well, now I'm getting *** glibc detected *** test-mpeg2: double free or
corruption (top): 0x0000000000608160 ***, and the backtrace indeed looks pretty
much identical to those in bug 241729, so I'm going to close-dupe this one.

*** This bug has been marked as a duplicate of 241729 ***

Comment 4 Jarod Wilson 2007-10-24 13:23:10 UTC
Not actually a duplicate. The double free has been fixed (problem was actually
in libraw1394), but test-mpeg2 and test-dv from libiec61883-utils still segfault.

Comment 5 Bug Zapper 2008-05-14 02:55:36 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 6 Stefan Richter 2009-02-07 12:52:51 UTC
Re comment 2:
Inability to run as non-root should be fixed by the latest libraw1394 update to cope with device-type dependent /dev/fw* permissions or ACLs.
The iso context destroy bug might be fixed in latest driver code.  And then there is your iso start/stop/start patch for libraw1394 but I think that's not related to this bug.

Re comment 0, comment 1:
libiec61883 1.2.0 release notes sound promising.

Comment 7 Jarod Wilson 2009-03-19 20:45:14 UTC
Both F10 and rawhide are good to go now, no problems running as non-root. F9's older libraw makes backporting this support... Less-than-fun. I've not seen any segfaults on any of my F10 or rawhide systems in quite some time now w/their much-improved libraw1394. Oh, hey, I opened this bug. Guess I can close it too then... :)