Package: procps
Version: 1:3.3.0-1

If I enable forest view (V) and hit pagedown several times (shift-pagedown on 
some terminals), top exists with a segmentation fault.

I'm using a 3.0 x86_64 kernel within a 64bit Xen slice: Linux version 
3.0.4-x86_64-linode21 (r...@build.linode.com) (gcc version 4.4.3 (Ubuntu 
4.4.3-4ubuntu5) ) #1 SMP Thu Sep 1 21:28:01 EDT 2011.  Even so, this is a 32bit 
Debian install.  (eglibc 2.13-21, gcc 4.6.2-5)

I've removed ~/.toprc entirely and can still duplicate the problem.  Terminal 
size is 132x70, but I'm running inside screen with a hardstatus line, so there 
are 69 lines available.

Rebuilding the package with debugging symbols and non-stripped binaries, and 
running with gdb, I get:

Program received signal SIGSEGV, Segmentation fault.
0x080522b0 in task_show (q=0x8059e20, p=0x0) at top.c:3450
3450                makeCOL(p->tid);

(gdb) backtrace full
#0  0x080522b0 in task_show (q=0x8059e20, p=0x0) at top.c:3450
       cbuf = "\n\033[m\017 1745 root      20   0     0    0    0 S   0.0  0.0  
16:16.51  `- flush-202:32", ' ' <repeats 54 times>, 
"\033[m\017\033[39;49m\000\064\071\250\065\005\b\001\000\000\000\247\065\005\b0 
0 
\220\275\377\377=B\345\367\002\000\000\000\244\065\005\b\000\000\000\000p\277\377\377K\001\000\000\244\065\005\b0
 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 \000\000\000\000\060 0 
\000\000\000\000\000\000\000\000\060 0 ", '\000' <repeats 16 times>...
       i = 0 '\000'
       s = -1
       w = -1
       f = 0x80536ae "%5d "
       rbuf = "\000\061\067\064\065 root      20   0     0    0    0 S   0.0  
0.0  16:16.51  `- flush-202:32", ' ' <repeats 54 times>, 
"\000j\a\b\240l\a\b\bp\a\b8r\a\b\250u\a\b\000\201\a\b\350\210\a\b@\232\a\b\350\235\a\b\030\240\a\b\370\245\a\b\260\251\a\bP\257\006\b\b\332\a\b\020\377\a\b\310\036\b\b0Z\b\b\230e\b\b\300l\b\b\210\036\006\b\320\064\006\b\020\270\006\bX\272\006\b\210\274\006\bؾ\006\b\b\301\006\b`\303\006\b\220\305\006\b\360\307\006\b
 
\312\006\b\210\314\006\b\270\316\006\b(\321\006\bX\323\006\b\320\325\006\b\000\330\006\b\200\332\006\b\260\334\006\b8\337\006\bh\341\006\b\370"...
       rp = 0xffffc160 ""
       j = -134764288
       x = 0
#1  0x08052ceb in window_show (q=0x8059e20, wmax=63) at top.c:3587
       i = 167
       lwin = 43
#2  0x08052f61 in frame_make () at top.c:3673
       w = 0x8059e20
       i = 3
       scrlins = 0
#3  0x0805313d in main (dont_care_argc=1, argv=0xffffd724) at top.c:3719
       tv = {tv_sec = 2, tv_usec = 269737}

(gdb) frame 0
#0  0x080522b0 in task_show (q=0x8059e20, p=0x0) at top.c:3450
3450                makeCOL(p->tid);

(gdb) l
3445    #endif
3446             case P_PGD:
3447                makeCOL(p->pgrp);
3448                break;
3449             case P_PID:
3450                makeCOL(p->tid);
3451                break;
3452             case P_PPD:
3453                makeCOL(p->ppid);
3454                break;

(gdb) print p
$1 = (const proc_t *) 0x0

(gdb) frame 1
#1  0x08052ceb in window_show (q=0x8059e20, wmax=63) at top.c:3587
3587             task_show(q, q->ppt[i++]);

(gdb) print *q
$2 = {
 pflgsall = "\000\003\016\017\026\030\033\037\022\025\024 ", '\000' <repeats 51 
times>, 
 procflgs = "\000\003\016\017\026\030\033\037\022\025\024 ", '\000' <repeats 51 
times>, rc = {sortindx = 18 '\022', winflags = 62774, maxtasks = 0, 
   summclr = 1, msgsclr = 1, headclr = 3, taskclr = 1, winname = "Def", 
   fieldscur = 
"\245\250\263\264\273\275\300ķ\272\271\305&')*+,-./012568<>?ABCFGHIJKLMNOPQRSTUVWXYZ[\000\000\000\000\000\000\000\000"},
 winnum = 1, 
 winlines = 63, maxpflgs = 12, totpflgs = 12, begpflg = 0, endpflg = 0, 
 begtask = 124, varcolsz = 69, usrseluid = 0, usrseltyp = 0, hdrcaplen = 0, 
 capclr_sum = '\000' <repeats 63 times>, 
 capclr_msg = "\033[7m", '\000' <repeats 59 times>, 
 capclr_pmt = "\033[1m", '\000' <repeats 59 times>, 
 capclr_hdr = "\033[7m", '\000' <repeats 59 times>, 
 capclr_rowhigh = "\033[m\017\033[1m", '\000' <repeats 55 times>, 
 capclr_rownorm = "\033[m\017", '\000' <repeats 59 times>, 
 cap_bold = "\033[1m", '\000' <repeats 27 times>, grpname = "1:Def", 
 columnhdr = "  PID USER      PR  NI  VIRT  RES  SHR S  %CPU %MEM    TIME+  
COMMAND", ' ' <repeats 63 times>, '\000' <repeats 379 times>, 
 eolcap = 0x8059580 "\033[m\017\033[39;49m", captab = {
   0x8059540 "\033[m\017", 0x8059540 "\033[m\017", 0x805a0ac "\033[1m", 
   0x8059f2c "", 0x8059f6c "\033[7m", 0x8059fac "\033[1m", 
   0x8059fec "\033[7m", 0x805a02c "\033[m\017\033[1m", 
   0x805a06c "\033[m\017"}, ppt = 0x8062f10, next = 0x805a308, 
 prev = 0x805acd8}

(gdb) print *q->ppt[168]
Cannot access memory at address 0x0

(gdb) print *q->ppt[167]
$3 = {tid = 1745, ppid = 2, pcpu = 0, state = 83 'S', pad_1 = 0 '\000', 
 pad_2 = 0 '\000', pad_3 = 1 '\001', utime = 0, stime = 97704, cutime = 0, 
 cstime = 0, start_time = 508, signal = '0' <repeats 16 times>, "\000", 
 blocked = '0' <repeats 16 times>, "\000", 
 sigignore = 'f' <repeats 16 times>, "\000", 
 sigcatch = '0' <repeats 16 times>, "\000", 
 _sigpnd = '0' <repeats 16 times>, "\000", start_code = 0, end_code = 0, 
 start_stack = 0, kstk_esp = 0, kstk_eip = 0, wchan = 4294967295, 
 priority = 20, nice = 0, rss = 0, alarm = 0, size = 0, resident = 0, 
 share = 0, trs = 0, lrs = 0, drs = 0, dt = 0, vm_size = 0, vm_lock = 0, 
 vm_rss = 0, vm_data = 0, vm_stack = 0, vm_swap = 0, vm_exe = 0, vm_lib = 0, 
 rtprio = 0, sched = 0, vsize = 0, rss_rlim = 4294967295, flags = 2157969472, 
 min_flt = 0, maj_flt = 0, cmin_flt = 0, cmaj_flt = 0, environ = 0x0, 
 cmdline = 0x0, cgroup = 0x0, supgid = 0x806f708 "-", supgrp = 0x0, 
 euser = "root\000usr/share/termi", ruser = "root\000usr/share/termi", 
 suser = "root\000usr/share/termi", fuser = "root\000usr/share/termi", 
 rgroup = '\000' <repeats 19 times>, egroup = '\000' <repeats 19 times>, 
 sgroup = '\000' <repeats 19 times>, fgroup = '\000' <repeats 19 times>, 
 cmd = "flush-202:32\000\000\000", ring = 0x0, next = 0x0, pgrp = 0, 
 session = 0, nlwp = 1, tgid = 1745, tty = 0, euid = 0, egid = 0, ruid = 0, 
 rgid = 0, suid = 0, sgid = 0, fuid = 0, fgid = 0, tpgid = -1, 
 exit_signal = 17, processor = 2}

...maybe an off-by-one near top.c:3587?




--
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to