Bug 4960

Summary: focus command does not work for live or core processes
Product: frysk Reporter: Phil Muldoon <pmuldoon>
Component: generalAssignee: Phil Muldoon <pmuldoon>
Status: RESOLVED FIXED    
Severity: normal CC: timoore
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 1595, 2246    

Description Phil Muldoon 2007-08-24 18:56:37 UTC
Though the results are different:

Corefile case:

[pmuldoon@localhost bindir]$ ./fcore 3532
[pmuldoon@localhost bindir]$ ./fhpd core.3532 
Attached to core file: /home/pmuldoon/frysk_bin/frysk-core/frysk/bindir/core.3532
(fhpd) where
#0 0x00110402 in __kernel_vsyscall () from 
#1 0x00000000 in [unknown] from Unknown
(fhpd) viewset
Set  includes:
[0.0]

Set  includes:
[0.0]
Set  includes:
[0.1]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]
Set  includes:
[0.6]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]
Set  includes:
[0.6]
Set  includes:
[0.7]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]
Set  includes:
[0.6]
Set  includes:
[0.7]
Set  includes:
[0.8]

(fhpd) focus [0.1]
Creating new HPD notation set.
(fhpd) where
(fhpd) quit
Quitting...

Live Case:

[pmuldoon@localhost bindir]$ ./fhpd 3532
Attached to process 3532
(fhpd) where
#0 0x00110402 in __kernel_vsyscall () from [vdso]
#1 0x43ef9a43 in __libc_poll () from /lib/libc-2.6.so
#2 0x04e1ebe3 in [unknown] from Unknown
#3 0x0270fb79 in g_main_loop_run () from /lib/libglib-2.0.so.0.1200.13
#4 0x00555f44 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0.1000.14
#5 0x01316cd9 in [unknown] from /usr/lib/firefox-2.0.0.5/components/libgklayout.so
#6 0x013c250c in [unknown] from /usr/lib/firefox-2.0.0.5/components/libgklayout.so
#7 0x1009c6eb in [unknown] from Unknown
#8 0x0804aebc in [unknown] from /usr/lib/firefox-2.0.0.5/firefox-bin
#9 0x43e48f70 in __libc_start_main () from /lib/libc-2.6.so
#10 0x0804ab41 in __gxx_personality_v0 () from /usr/lib/firefox-2.0.0.5/firefox-bin
(fhpd) viewsets
Error: Unrecognized command: viewsets.
(fhpd) viewset 
procs 1 tasks 7
Set  includes:
[0.0]

Set  includes:
[0.0]
Set  includes:
[0.1]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]

Set  includes:
[0.0]
Set  includes:
[0.1]
Set  includes:
[0.2]
Set  includes:
[0.3]
Set  includes:
[0.4]
Set  includes:
[0.5]
Set  includes:
[0.6]

(fhpd) focus [0.1]
Creating new HPD notation set.
(fhpd) where
java.lang.ClassCastException: frysk.rt.ProcTaskIDManager$ProcEntry cannot be
cast to frysk.proc.Proc
   at frysk.rt.ProcTaskIDManager.getProc(fhpd)
   at frysk.hpd.AllPTSet.getProc(fhpd)
   at frysk.hpd.AllPTSet.addTasksFromReg(fhpd)
   at frysk.hpd.AllPTSet.getSubset(fhpd)
   at frysk.hpd.DynamicPTSet.getTasks(fhpd)
   at frysk.hpd.WhereCommand.handle(fhpd)
   at frysk.hpd.CLI.execCommand(fhpd)
   at frysk.bindir.fhpd.main(fhpd)
Internal debugger error:  frysk.rt.ProcTaskIDManager$ProcEntry cannot be cast to
frysk.proc.Proc
Comment 1 Phil Muldoon 2007-09-07 01:25:40 UTC
2007-09-06  Phil Muldoon  <pmuldoon@redhat.com>

	* FocusCommand.java (handle): Build debug, stack-trace and frame
	info for newly focused set.
	
	* CoreCommand.java (handle): Add coreProc to idManager.

	* CoreComamnd. java (handle): Simplify. Let manageProc build
	set. Do not use StaticPTSet. Find main task, and generate
	stack-trace.
Comment 2 Phil Muldoon 2007-10-15 09:32:35 UTC
This issue was a legacy issue with how fhpd used to handle processes, and how it
now handles them with sets. The CoreCommand.java has been rewritten to use the
idManager instead of building and maintaining sets manually.

2007-09-06  Phil Muldoon  <pmuldoon@redhat.com>

        * FocusCommand.java (handle): Build debug, stack-trace and frame
        info for newly focused set.

        * CoreCommand.java (handle): Add coreProc to idManager.

        * CoreComamnd. java (handle): Simplify. Let manageProc build
        set. Do not use StaticPTSet. Find main task, and generate
        stack-trace.