Bug 4250

Summary: ftrace does not follow threads
Product: frysk Reporter: Andrew Cagney <cagney>
Component: generalAssignee: Unassigned <frysk-bugzilla>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:
Bug Depends on:    
Bug Blocks: 2245    

Description Andrew Cagney 2007-03-21 22:48:51 UTC
$ ../bindir/ftrace -o /tmp/ftrace.out ../bindir/ftrace
ftrace: no command or PID specified
ftrace: Try 'ftrace -help' for more information
$ head !$
head /tmp/ftrace.out
Ftrace.main() Proc.getPid() 2617
....
$ grep -v 2617.2617 !$
grep -v 2617.2617 /tmp/ftrace.out
Ftrace.main() Proc.getPid() 2617
Ftrace.main() Proc.getExe()
/home/scratch/frysk/native/frysk-core/frysk/bindir/ftrace

i.e., only output from the main thread is present
Comment 1 Sami Wagiaalla 2007-05-04 21:11:01 UTC
Fixed:

[swagiaal@toner ~]$ grep -v 21736.21736 /tmp/ftrace.out 
1:Ftrace.main() Proc.getPid() 21736
2:Ftrace.main() Proc.getExe() /usr/local/bin/ftrace
429:Ftrace.main() Proc.getExe() /usr/local/bin/ftrace
430:21736.21737 <SYSCALL> set_robust_list () 21736.21737 = 0
431:21736.21737 <SYSCALL> futex (0x41bec,1,1,0x25888) 21736.21737 = 1



2007-05-04  Sami Wagiaalla  <swagiaal@redhat.com>
	
	* TestFtrace.java: New file.
	
	2007-05-04  Sami Wagiaalla  <swagiaal@redhat.com>
	
	* TestTaskSyscallObserver.java: Added a syscall cache.
	Replaced SyscallEventInfo.arg() with Syscall.getArguments().
	Replaced SyscallEventInfo.returnCode() with Syscall.getReturnCode().
	* SyscallEventInfo.java (arg): Removed.
	(returnCode): Removed.
	* Syscall.java: Changed all calls to SyscallEventInfo.args() to
	this.getArgument().
	Changed all calls to SyscallEventInfo.returnCode() to
	this.getReturnCode().
	* LinuxIa32Syscall.java: Changed second argument of write system call
	to a string.
	* LinuxX8664Syscall.java: Ditto.
	* LinuxPowerPCSyscall.java: Ditto.
	
	2007-05-04  Sami Wagiaalla  <swagiaal@redhat.com>
	
	* StracePrinter.java: Removed SyscallEventInfo argument.
	Removed when argument.
	Split the handle function into handleEnter and handleExit.
	* SyscallHandler.java: Ditto.
	* Ftrace.java: Added forkObserver for properly following forked
	children.
	Stoped use of Refresh for finding forked children.
	Added procObserver to newly added Procs.
	Added tasksObserver to procs executed by ftrace; fix for bz 2916.
	
	2007-05-04  Sami Wagiaalla  <swagiaal@redhat.com>
	
	* observers/SysCallUtilyInfo.java: Replaced use of
	SyscallEventInfo.arg() with Syscall.getArgument().
	Replaced use of SyscallEventInfo.returnCode() with
	Syscall.getReturnCode().