Share

Top

Tracker: Bugs

5 top-3.8beta1 will segfault with high thread ids - ID: 2815842
Last Update: Attachment added ( fvd )


top-3.8beta1 might segfault in hash.c if thread ids get big (in this case
on Solaris 10 10/08, x86/64bit):

From the debug output:

[...]
getptable: processing 16006.5
getptable: 16006.5: new thread
getptable: processing 16006.656377

segfault

From dbx:

signal SEGV (no mapping at the fault address) in hash_lookup_pidthr at line
1470 in file "hash.c"
1470 k1 = h->key;
(dbx) where
=>[1] hash_lookup_pidthr(ht = 0x432550, key = RECORD), line 1470 in
"hash.c"
[2] getptable(baseptr = 0x42eb80), line 2096 in "m_sunos5.c"
[3] get_process_info(si = 0xfffffd7fffdffa90, sel = 0x432410,
compare_index = 0), line 1531 in "m_sunos5.c"
[4] main(argc = 1, argv = 0xfffffd7fffdffb98), line 944 in "top.c"

(dbx) print key
key = {
k_pid = 16006
k_thr = 649832
}

I guess this is due to id_t being int or whatever. Attached a diff, which
fixes it (I know, probably not that many casts are needed ;-).

Cheers, Markus


Markus Weber ( fvd ) - 2009-07-02 15:15

5

Open

None

Nobody/Anonymous

Runtime Errors

v3.8beta

Public


Comments




Log in to comment.

No follow-up comments have been posted.

Attached File ( 1 )

Filename Description Download
hash-c-patch.txt preliminary patch for hash.c / high thread IDs Download

Change ( 1 )

Field Old Value Date By
File Added 333215: hash-c-patch.txt 2009-07-02 15:15 fvd