From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31414 invoked by alias); 10 Jun 2008 21:53:17 -0000 Received: (qmail 31140 invoked by uid 48); 10 Jun 2008 21:52:37 -0000 Date: Tue, 10 Jun 2008 21:53:00 -0000 From: "rruvinsk at sybase dot com" To: frysk-bugzilla@sourceware.org Message-ID: <20080610215236.6621.rruvinsk@sybase.com> Reply-To: sourceware-bugzilla@sourceware.org Subject: [Bug general/6621] New: frysk command line tools failing with an NPE X-Bugzilla-Reason: AssignedTo Mailing-List: contact frysk-bugzilla-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Post: List-Help: , Sender: frysk-bugzilla-owner@sourceware.org X-SW-Source: 2008-q2/txt/msg00268.txt.bz2 List-Id: I'm trying to run the frysk command line tools (fstack in particular, but they all seem to fail similarly) on an x86_64 Fedora 8 VM (running on VMWare Server). (The same behaviour was observed on a Ubuntu 8.04 i386 box.) It works when run against a small number of processes (e.g., bash) but fails when run against almost anything else (e.g., gnome-terminal, gconf2d, etc.). I've tried the pre-built binaries from the 0.4 RPM, as well as building the binaries from the source in the head branch. The debug trace output is as follows: 00:00:00.018 27105.27105 frysk.util.CommandlineParser: checking for pid 00:00:00.022 27105.27105 frysk.sys.Wait: adding 29 (I/O possible) 00:00:00.022 27105.27105 [Thread[Thread-1,5,main]]: new 00:00:00.023 27105.27105 [{frysk.proc.live.LinuxPtraceHost@2f8b1875}]: Host 00:00:00.025 27105.27105 [Thread[Thread-1,5,main]]: add WaitBuilder <> 00:00:00.025 27105.27105 [{frysk.proc.live.LinuxPtraceHost@2f8b1875}]: requestProc 2875 00:00:00.026 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.026 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.027 27105.27105 [Thread[Thread-1,5,main]]: run 00:00:00.027 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop pendingOnly false 00:00:00.028 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.028 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.029 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.029 27105.27105 [{frysk.proc.live.LinuxPtraceHost@2f8b1875}]: execute - requestProc <<2875>> 00:00:00.030 27105.27105 [frysk.sys.proc.Stat@2f7bd185]: scan <<2875>> 00:00:00.031 27105.27105 [/proc/2875/stat]: pid <<2875>> 00:00:00.031 27105.27105 [/proc/2875/stat]: state S 00:00:00.032 27105.27105 [/proc/2875/stat]: ppid <<1>> 00:00:00.032 27105.27105 [frysk.sys.proc.Stat@2f7bd04d]: scan <<1>> 00:00:00.033 27105.27105 [/proc/1/stat]: pid <<1>> 00:00:00.033 27105.27105 [/proc/1/stat]: state S 00:00:00.034 27105.27105 [/proc/1/stat]: ppid <<0>> 00:00:00.035 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7455,pid=1,state=}]: new - create unattached running proc 00:00:00.036 27105.27105 frysk.proc.live.LinuxPtraceProcState: initial false 00:00:00.036 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7455,pid=1,state=detached}]: add(Proc) -- a child process 00:00:00.037 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=}]: new - create unattached running proc 00:00:00.038 27105.27105 frysk.proc.live.LinuxPtraceProcState: initial false 00:00:00.039 27105.27105 frysk.proc.Task: new -- create unattached 00:00:00.040 27105.27105 [Thread[Thread-1,5,main]]: requestStop 00:00:00.041 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.041 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.041 27105.27105 [frysk.util.ProcStopUtil$1@2f8543c5]: parse pids [<<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=detached}>>] 00:00:00.042 27105.27105 [frysk.proc.ProcBlockAction@2f8c5b55]: new 00:00:00.043 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.043 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.044 27105.27105 [Thread[Thread-1,5,main]]: run 00:00:00.044 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop pendingOnly false 00:00:00.045 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.045 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.045 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.046 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=detached}]: requestAddInstructionObserver 00:00:00.046 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=detached}]: requestAddInstructionObserver 00:00:00.047 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.047 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.048 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=detached}]: requestAddTerminatedObserver 00:00:00.048 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=detached}]: requestAddObservation 00:00:00.048 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.049 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.049 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.050 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.050 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.051 27105.27105 frysk.proc.live.LinuxPtraceProcState: handleAddObserver <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=detached}>> 00:00:00.051 27105.27105 frysk.proc.live.LinuxPtraceProcState: state <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=detached}>> 00:00:00.051 27105.27105 frysk.proc.live.LinuxPtraceTaskState: handleAttach <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=detached}>> 00:00:00.052 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=detached}]: sendAttach 00:00:00.052 27105.27105 frysk.sys.ptrace.Ptrace: attach <<2875>> 00:00:00.053 27105.27105 [frysk.sys.proc.Status@2f8e5155]: stan <<2875>> 00:00:00.053 27105.27105 frysk.sys.proc.Status: state 'T' 00:00:00.054 27105.27105 frysk.sys.proc.Status: stopped false 00:00:00.054 27105.27105 frysk.sys.proc.Status: uid 500 00:00:00.054 27105.27105 frysk.sys.proc.Status: gid 500 00:00:00.055 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.055 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.056 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.056 27105.27105 frysk.proc.live.LinuxPtraceProcState: handleAddObservation <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=Attaching.ToMainTask}>> 00:00:00.057 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.057 27105.27105 [Thread[Thread-1,5,main]]: block timeout 0xffffffffffffffff 00:00:00.057 27105.27105 frysk.sys.Wait: waitpid 2875 -> status 0x137f WIFSTOPPED 19 (Stopped (signal)) 00:00:00.058 27105.27105 frysk.sys.Wait: waitpid 0 -> errno 0 (Success) 00:00:00.058 27105.27105 [frysk.proc.live.LinuxWaitBuilder@2f8b5e6d]: stopped <<2875>> 00:00:00.059 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=attaching}]: stoppedEvent <> 00:00:00.059 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=attaching}]: initializeAttachedState 00:00:00.060 27105.27105 frysk.sys.ptrace.Ptrace: setOptions <<2875>> options 0x5a 00:00:00.061 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=Attaching.ToMainTask}]: performTaskAttachCompleted 00:00:00.062 27105.27105 [Thread[Thread-1,5,main]]: add Event <<[ProcEvent,procnull]>> 00:00:00.062 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.063 27105.27105 [Thread[Thread-1,5,main]]: checkForTimerEvents 00:00:00.063 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.063 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <<[ProcEvent,procnull]>> 00:00:00.063 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <<[ProcEvent,procnull]>> 00:00:00.063 27105.27105 frysk.proc.live.LinuxPtraceProcState: handleTaskAttachCompleted <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=Attaching.ToMainTask}>> 00:00:00.064 27105.27105 frysk.proc.live.LinuxPtraceProcState: allAttached <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=Attaching.ToMainTask}>> 00:00:00.064 27105.27105 frysk.proc.live.LinuxPtraceTaskState: handleAddObservation <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForContinueOr Unblock}>> 00:00:00.064 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.064 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.065 27105.27105 frysk.proc.live.LinuxPtraceTaskState: handleAddObservation <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForContinueOr Unblock}>> 00:00:00.065 27105.27105 frysk.proc.live.LinuxPtraceTaskState: handleContinue <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForContinueOr Unblock}>> 00:00:00.065 27105.27105 [frysk.proc.Proc$ObservableXXX@2f8cb0d5]: notify -- all observers <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=Attaching.ToMainTask}>> 00:00:00.066 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.066 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.066 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.066 27105.27105 [frysk.proc.ProcBlockAction@2f8c5b55]: this taskList <<[]>> proc.taskList <<[{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,sig nal=SIGNONE(0)}]>> 00:00:00.067 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.067 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.067 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,signal =SIGNONE(0)}]: requestDeleteInstructionObserver 00:00:00.067 27105.27105 [{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=running}]: requestDeleteInstructionObserver 00:00:00.068 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.068 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.068 27105.27105 [{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,signal =SIGNONE(0)}]: requestDeleteTerminatedObserver 00:00:00.068 27105.27105 [Thread[Thread-1,5,main]]: add Event <> 00:00:00.068 27105.27105 [Thread[Thread-1,5,main]]: wakeupIfBlocked 00:00:00.069 27105.27105 [Thread[Thread-1,5,main]]: remove ... 00:00:00.069 27105.27105 [Thread[Thread-1,5,main]]: remove ... return <> 00:00:00.069 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing <> 00:00:00.069 27105.27105 frysk.util.ProcStopUtil: execute live <<{frysk.proc.live.LinuxPtraceProc@2f8c7395,pid=2875,state=running}>> 00:00:00.069 27105.27105 [frysk.bindir.fstack$StackerEvent@2f574fe5]: printTasks 00:00:00.079 27105.27105 [frysk.stack.LibunwindAddressSpace@2f8b966d]: getReg <> register <<[Register: rip type: {{frysk.value.PointerType@2f921485,name=VOIDPTR64L_T,size=8}}]>> 00:00:00.081 27105.27105 [frysk.sys.ptrace.RegisterSet@2f9692d5]: transfer <<2875>> read ... 00:00:00.082 27105.27105 [frysk.stack.LibunwindAddressSpace@2f8b966d]: read value 0x35c8acbd2f 00:00:00.082 27105.27105 [frysk.stack.LibunwindAddressSpace@2f8b966d]: getReg <> register <<[Register: rsp type: {{frysk.value.PointerType@2f921485,name=VOIDPTR64L_T,size=8}}]>> 00:00:00.082 27105.27105 [frysk.sys.ptrace.RegisterSet@2f9692d5]: transfer <<2875>> read ... 00:00:00.082 27105.27105 [frysk.stack.LibunwindAddressSpace@2f8b966d]: read value 0x7fff505d9cd0 00:00:00.083 27105.27105 frysk.stack.Frame: Getting task: <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,sig nal=SIGNONE(0)}>> 00:00:00.084 27105.27105 frysk.stack.Frame: Getting task: <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,sig nal=SIGNONE(0)}>> 00:00:00.084 27105.27105 frysk.dwfl.DwflCache: entering createDwfl, task <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,sig nal=SIGNONE(0)}>> 00:00:00.085 27105.27105 frysk.dwfl.DwflCache: creating new dwfl for task <<{frysk.proc.live.LinuxPtraceTask@2f8d7455,pid=2875,tid=2875,state=Attached.WaitForUnblock,sig nal=SIGNONE(0)}>> 00:00:00.085 27105.27105 [frysk.util.ProcStopUtil$1@2f8543c5]: parse failed <> Error: java.lang.NullPointerException -- Summary: frysk command line tools failing with an NPE Product: frysk Version: unspecified Status: NEW Severity: normal Priority: P2 Component: general AssignedTo: frysk-bugzilla at sourceware dot org ReportedBy: rruvinsk at sybase dot com http://sourceware.org/bugzilla/show_bug.cgi?id=6621 ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee.