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