PROBLEM: Segmentation fault [SIGSEGV] reading from /proc/tty/driv er/serial

From: David Ciemiewicz (David.Ciemiewicz@logictier.com)
Date: Fri Sep 15 2000 - 19:10:04 EST


[1.] Segmentation fault [SIGSEGV] reading from /proc/tty/driver/serial
[2.] Programs which read from /proc/tty/driver/serial (using stdio?) will
terminate prematurely with a segmentation fault [SIGSEGV] and do not
produce a corefile.

This was discovered running the sysstat 3.4.2 sadc program which collects
data for sar system activity reporting.

Example:

$ cat /proc/tty/driver/serial
serinfo:1.0 driver:4.27
0: uart:16550A port:3F8 irq:4 baud:9600 tx:11 rx:0
1: uart:16550A port:2F8 irq:3 baud:9600 tx:11 rx:0
2: uart:unknown port:3E8 irq:4
3: uart:unknown port:2E8 irq:3
...
28: uart:unknown port:160 irq:12
29: uart:unknown port:1Segmentation fault

strace output shows that the SIGSEGV occurs in the read system call

open("/proc/tty/driver/serial", O_RDONLY|O_LARGEFILE) = 3
fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0
read(3, "serinfo:1.0 driver:4.27\n0: uart:"..., 512) = 512
write(1, "serinfo:1.0 driver:4.27\n0: uart:"..., 512serinfo:1.0 driver:4.27
0: uart:16550A port:3F8 irq:4 baud:9600 tx:11 rx:0
...
read(3, "14: uart:unknown port:0 irq:0\n15"..., 512) = 512
write(1, "14: uart:unknown port:0 irq:0\n15"..., 51214: uart:unknown port:0
irq:0
15: uart:unknown port:0 irq:0
...
read(3, <unfinished ...>
+++ killed by SIGSEGV +++

[3.] kernel old_mmap /proc/tty/driver/serial
[4.] Linux version 2.2.14-5.0 (root@porky.devel.redhat.com) (gcc version
egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #1 Tue Mar 7 21:07:39 EST
2000
[5.] No applicable Oops
[6.]
#! /bin/sh
cat /proc/tty/driver/serial
[7.] Uniprocessor HP Vectra VL
[7.1.] sh ver_linux
-- Versions installed: (if some fields are empty or looks
-- unusual then possibly you have very old versions)
Linux ciemo-linux.sfo.logictier.com 2.2.14-5.0 #1 Tue Mar 7 21:07:39 EST
2000 i686 unknown
Kernel modules found
Gnu C egcs-2.91.66
Binutils 2.9.5.0.22
Linux C Library ..
ldd: missing file arguments
Try `ldd --help' for more information.
ls: /usr/lib/libg++.so: No such file or directory
Procps 2.0.6
Mount 2.10f
Net-tools (1999-04-20)
Kbd [option...]
Sh-utils 2.0
Sh-utils Parker.
Sh-utils
Sh-utils Inc.
Sh-utils NO
Sh-utils PURPOSE.

[7.2.]cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 7
model name : Pentium III (Katmai)
stepping : 3
cpu MHz : 501.142695
cache size : 512 KB
fdiv_bug : no
hlt_bug : no
sep_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov
pat pse36 mmx fxsr xmm
bogomips : 499.71
 
[7.3.] cat /proc/modules
autofs 9092 1 (autoclean)
lockd 30344 1 (autoclean)
sunrpc 52132 1 (autoclean) [lockd]
3c59x 18980 1 (autoclean)

[7.4.] cat /proc/scsi/scsi
Attached devices: none

[7.5.] No other useful info from /proc

[X.]
See "/proc/tty/driver/serial kernel oops and other problems -- FIX" which
may
have applicability as a diagnosis of the problem and a proposed fix. The
bug
exists in 2.2.14 kernels, not just in 2.3.5 kernels as indicated by author.
http://uwsg.ucs.indiana.edu/hypermail/linux/kernel/9910.3/0091.html

See "sysstat 3.2.4" from Sebastian Godard
http://www.icewalk.com/softlib/app/app_00904.html
 <<David Ciemiewicz (E-mail).vcf>>



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Fri Sep 15 2000 - 21:00:26 EST