Bug 7388

Summary: /dev/port bug?
Product: [Retired] Red Hat Linux Reporter: arild.hestvik
Component: kernelAssignee: David Miller <davem>
Status: CLOSED NOTABUG QA Contact:
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0   
Target Milestone: ---   
Target Release: ---   
Hardware: sparc   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2000-02-05 22:44:40 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:

Description arild.hestvik 1999-11-28 12:58:10 UTC
I have compiled cqcam-0.90pre8 on Sparc4 w/RH6.0, with a hack suggested by
the developer (http://www.cs.duke.edu/~reynolds/cqcam/)

|Here's a nice kludge to try: at the top of port.C and port.h in the
|libcqcam directory, add the line
|
|#define arm
|
|and try building again.  IOW, pretend that you're building this on an ARM
|processor and force the system to use /dev/port instead of direct I/O
|through <asm/io.h>. /dev/port support is slow, BTW, because it requires
|two context switches for every 4- or 12-bit chunk of data.


it compiles, but when I run it this happens:

[arild@vega arild]$ sudo xcqcam
Killed
[arild@vega arild]$ Nov 26 18:16:38 vega sudo:    arild : TTY=pts/0 ;
PWD=/home/arild ; USER=root ; COMMAND=/usr/bin/tail -f /var/log/messages

Nov 26 18:17:24 vega sudo:    arild : TTY=pts/0 ; PWD=/home/arild ;
USER=root ; COMMAND=/usr/local/bin/xcqcam
Nov 26 18:17:24 vega kernel: Unable to handle kernel NULL pointer
dereference<1>tsk->mm->context = 0000004a
Nov 26 18:17:24 vega kernel: tsk->mm->pgd = f0351000
Nov 26 18:17:24 vega kernel:               \|/ ____ \|/
Nov 26 18:17:24 vega kernel:               "@'/ ,. \`@"
Nov 26 18:17:24 vega kernel:               /_| \__/ |_\
Nov 26 18:17:24 vega kernel:                  \__U_/
Nov 26 18:17:24 vega kernel: xcqcam(1215): Oops
Nov 26 18:17:24 vega kernel: PSR: 049000c5 PC: f00f1758 NPC: f00f175c Y:
00000000
Nov 26 18:17:24 vega kernel: g0: 00000000 g1: ffffff7f g2: 0000fc00 g3:
0000037a g4: 00000000 g5: 00000000 g6: f348e000 g7: ffffff00
Nov 26 18:17:24 vega kernel: o0: 0002c954 o1: 0002c954 o2: 00000000 o3:
f29d0578 o4: 0000037a o5: 0000ffff sp: f348ff08 o7: f0044e8c
Nov 26 18:17:24 vega kernel: l0: f29d0560 l1: 5000cd78 l2: 503c5be8 l3:
00000001 l4: 041d1b01 l5: 00000000 l6: 00000000 l7: 5002891c
Nov 26 18:17:24 vega kernel: i0: ffffffea i1: 0002c954 i2: 00000001 i3:
0000037a i4: 00010000 i5: 500298e8 fp: f348ff70 i7: f0011398
Nov 26 18:17:24 vega kernel: Caller[f0011398]
Nov 26 18:17:24 vega kernel: Caller[00017e18]
Nov 26 18:17:24 vega kernel: Instruction DUMP: 80a3000d  1880000e
8610000c <c40b0000> c42a0000  86100000  80a0e000  06bffff2  8410000a



According to Patrick, this looks like a kernel bug in the /dev/port-driver
for Sparc Linux.

-Arild Hestvik

Comment 1 Bill Nottingham 1999-11-29 16:48:59 UTC
You need to run that oops log through the 'ksymoops' program
for it to be of any use.

Comment 2 arild.hestvik 2000-01-31 18:43:59 UTC
Reading Oops report from the terminal
Nov 26 18:17:24 vega sudo:    arild : TTY=pts/0 ; PWD=/home/arild ;
 USER=root ; COMMAND=/usr/local/bin/xcqcam
 Nov 26 18:17:24 vega kernel: Unable to handle kernel NULL pointer
 dereference<1>tsk->mm->context = 0000004a
 Nov 26 18:17:24 vega kernel: tsk->mm->pgd = f0351000
 Nov 26 18:17:24 vega kernel:               \|/ ____ \|/
 Nov 26 18:17:24 vega kernel:               "@'/ ,. \`@"
 Nov 26 18:17:24 vega kernel:               /_| \__/ |_\
 Nov 26 18:17:24 vega kernel:                  \__U_/
 Nov 26 18:17:24 vega kernel: xcqcam(1215): Oops
 Nov 26 18:17:24 vega kernel: PSR: 049000c5 PC: f00f1758 NPC: f00f175c Y:
 00000000
 Nov 26 18:17:24 vega kernel: g0: 00000000 g1: ffffff7f g2: 0000fc00 g3:
 0000037a g4: 00000000 g5: 00000000 g6: f348e000 g7: ffffff00
 Nov 26 18:17:24 vega kernel: o0: 0002c954 o1: 0002c954 o2: 00000000 o3:
 f29d0578 o4: 0000037a o5: 0000ffff sp: f348ff08 o7: f0044e8c
 Nov 26 18:17:24 vega kernel: l0: f29d0560 l1: 5000cd78 l2: 503c5be8 l3:
 00000001 l4: 041d1b01 l5: 00000000 l6: 00000000 l7: 5002891c
 Nov 26 18:17:24 vega kernel: i0: ffffffea i1: 0002c954 i2: 00000001 i3:
 0000037a i4: 00010000 i5: 500298e8 fp: f348ff70 i7: f0011398
 Nov 26 18:17:24 vega kernel: Caller[f0011398]
 Nov 26 18:17:24 vega kernel: Caller[00017e18]
 Nov 26 18:17:24 vega kernel: Instruction DUMP: 80a3000d  1880000e
 8610000c <c40b0000> c42a0000  86100000  80a0e000  06bffff2  8410000a Nov 26
18:                              17:24 vega kernel: Unable to handle kernel NULL
pointer
 Nov 26 18:17:24 vega kernel: tsk->mm->pgd = f0351000
 Nov 26 18:17:24 vega kernel:               \|/ ____ \|/
 Nov 26 18:17:24 vega kernel:               "@'/ ,. \`@"
 Nov 26 18:17:24 vega kernel:               /_| \__/ |_\
 Nov 26 18:17:24 vega kernel:                  \__U_/
 Nov 26 18:17:24 vega kernel: xcqcam(1215): Oops
 Nov 26 18:17:24 vega kernel: PSR: 049000c5 PC: f00f1758 NPC: f00f175c Y:
Using defaults from ksymoops -t elf32-sparc -a sparc
 Nov 26 18:17:24 vega kernel: g0: 00000000 g1: ffffff7f g2: 0000fc00 g3:
 Nov 26 18:17:24 vega kernel: o0: 0002c954 o1: 0002c954 o2: 00000000 o3:
 Nov 26 18:17:24 vega kernel: l0: f29d0560 l1: 5000cd78 l2: 503c5be8 l3:
 Nov 26 18:17:24 vega kernel: i0: ffffffea i1: 0002c954 i2: 00000001 i3:

>>PC;  f00f1758 <n_tty_ioctl+4a4/1ab4>   <=====

 Nov 26 18:17:24 vega kernel: Caller[f0011398]
 Nov 26 18:17:24 vega kernel: Caller[00017e18]
 Nov 26 18:17:24 vega kernel: Instruction DUMP: 80a3000d  1880000e

Trace; f0011398 <get_options+1390/1634>
Trace; 00017e18 Before first symbol
Code;  f00f1758 <n_tty_ioctl+4a4/1ab4>
0000000000000000 <_PC>:
Code;  f00f1758 <n_tty_ioctl+4a4/1ab4>
   0:   80 a3 00 0d       cmp  %o4, %o5
Code;  f00f175c <n_tty_ioctl+4a8/1ab4>
   4:   18 80 00 0e       bgu  3c <_PC+0x3c> f00f1794 <n_tty_ioctl+4e0/1ab4>
Code;  f00f1760 <n_tty_ioctl+4ac/1ab4>
   8:   00 00 00 00       unimp  0

Comment 3 David Miller 2000-02-05 22:44:59 UTC
/dev/port is not and will never be supported on Sparc