Bug 4955 - fhpd sets do not work with corefiles
Summary: fhpd sets do not work with corefiles
Status: RESOLVED FIXED
Alias: None
Product: frysk
Classification: Unclassified
Component: general (show other bugs)
Version: unspecified
: P2 normal
Target Milestone: ---
Assignee: Unassigned
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-23 21:00 UTC by Phil Muldoon
Modified: 2007-08-24 18:51 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:
Project(s) to access:
ssh public key:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Phil Muldoon 2007-08-23 21:00:17 UTC
dead/LinuxHost, LinuxProc and LinuxTask export a fully threaded model as
demonstrated via fstack:

[pmuldoon@localhost bindir]$ ps -ax | grep 3219
 3219 ?        Sl     0:19 /usr/lib/firefox-2.0.0.5/firefox-bin

[pmuldoon@localhost bindir]$ ./fcore 3219

And doing a fstack correctly print all tasks in the backtrace:

[pmuldoon@localhost bindir]$ ./fstack core.3219 

Task #3219
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x00000000 in [unknown] from Unknown
Task #3241
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x00000000 in [unknown] from Unknown
Task #3242
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x440fc48c in __pthread_cond_timedwait () from /lib/libpthread.so.0
#2 0x84ed66c6 in [unknown] from Unknown
#3 0x4276c1f4 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#4 0x84fe8f1c in [unknown] from Unknown
#5 0x84fe4f8b in [unknown] from Unknown
#6 0x84ee431d in [unknown] from Unknown
#7 0x440f844b in start_thread () from /lib/libpthread.so.0
#8 0x00000000 in [unknown] from Unknown
Task #3244
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x440fc206 in __pthread_cond_wait () from /lib/libpthread.so.0
#2 0x4276c286 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#3 0x00000000 in [unknown] from Unknown
Task #3245
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x440fc206 in __pthread_cond_wait () from /lib/libpthread.so.0
#2 0x4276c286 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#3 0x00000000 in [unknown] from Unknown
Task #3246
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x440fc206 in __pthread_cond_wait () from /lib/libpthread.so.0
#2 0x4276c286 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#3 0x00000000 in [unknown] from Unknown
Task #3250
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x440fc206 in __pthread_cond_wait () from /lib/libpthread.so.0
#2 0x4276c286 in PR_WaitCondVar () from /usr/lib/libnspr4.so
#3 0x4276c2e7 in PR_Wait () from /usr/lib/libnspr4.so
#4 0x427eeea1 in PL_WaitForEvent () from /usr/lib/firefox-2.0.0.5/libxpcom_core.so
#5 0x84fe067d in [unknown] from Unknown
#6 0x00000000 in [unknown] from Unknown

However fhpd does not properly represent set information for a core file, so
thread switching is not supported:

[pmuldoon@localhost bindir]$ ./fhpd core.3219 
Attached to core file: /home/pmuldoon/frysk_bin/frysk-core/frysk/bindir/core.3219

(fhpd) whichsets
Task 0.0 is in sets: 

however doing the same for the live process:

[pmuldoon@localhost bindir]$ ./fhpd 3219
Attached to process 3219

(fhpd) whichsets
procs 1 tasks 7
Task 0.0 is in sets: 



Task 0.1 is in sets: 



Task 0.2 is in sets: 



Task 0.3 is in sets: 



Task 0.4 is in sets: 



Task 0.5 is in sets: 



Task 0.6 is in sets: 



This bug in fhpd essentially limits inspection to the corefile main task
Comment 1 Phil Muldoon 2007-08-24 18:51:06 UTC
Looks like the original author of CoreCommand only account for one thread per
corefile. 

2007-08-24  Phil Muldoon  <pmuldoon@redhat.com>

	* CoreCommand.java (handle): Build multi-threaded set.

This creates a multi-threaded set