Bug 4111 - ftrace crash
Summary: ftrace crash
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: 2245
  Show dependency treegraph
 
Reported: 2007-02-28 12:36 UTC by Mike Cvet
Modified: 2007-05-04 19:16 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Cvet 2007-02-28 12:36:46 UTC
12474.12474 <SYSCALL> read (3,0xbfcf5db0,32)Exception in thread "Thread-1" 
java.lang.ArrayIndexOutOfBoundsException: 24
   at frysk.proc.LinuxIa32Syscall.syscallByNum(ftrace)
   at frysk.proc.LinuxIa32$1.getSyscall(ftrace)
   at frysk.util.StracePrinter.handle(ftrace)
   at frysk.util.Ftrace$SyscallObserver.updateSyscallExit(ftrace)
   at frysk.proc.Task.notifySyscallExit(ftrace)
   at frysk.proc.LinuxPtraceTaskState$Running.handleSyscalledEvent(ftrace)
   at frysk.proc.Task.processSyscalledEvent(ftrace)
   at frysk.proc.LinuxPtraceHost$PollWaitOnSigChld$5.syscallEvent(ftrace)
   at frysk.sys.Wait.waitAllNoHang(ftrace)
   at frysk.proc.LinuxPtraceHost$PollWaitOnSigChld.execute(ftrace)
   at frysk.event.EventLoop.runEventLoop(ftrace)
   at frysk.event.EventLoop.run(ftrace)
Comment 1 Sami Wagiaalla 2007-05-04 20:16:38 UTC
This bug as been fix. It can be seen from the back trace that ftrace is trying
retrieve the syscall number during an exit event.

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().