This is the mail archive of the frysk-bugzilla@sourceware.org mailing list for the frysk project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug general/6621] New: frysk command line tools failing with an NPE


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 
<<frysk.proc.live.LinuxWaitBuilder@2f8b5e6d>>
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 
<<frysk.proc.live.LinuxPtraceHost$3@2f8c13f5>>
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 
<<frysk.proc.live.LinuxPtraceHost$3@2f8c13f5>>
00:00:00.029 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<frysk.proc.live.LinuxPtraceHost$3@2f8c13f5>>
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=<null>}]: 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=<null>}]: 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 
<<frysk.proc.ProcBlockAction$3@2f8de515>>
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 
<<frysk.proc.ProcBlockAction$3@2f8de515>>
00:00:00.045 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<frysk.proc.ProcBlockAction$3@2f8de515>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d0215observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d02a5observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d0215observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
00:00:00.050 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d0215observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d02a5observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
00:00:00.056 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d02a5observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<SIGSTOP(19)>>
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 
<<frysk.proc.ProcBlockAction$1@2f8ed25d>>
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 
<<frysk.proc.ProcBlockAction$1@2f8ed25d>>
00:00:00.066 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<frysk.proc.ProcBlockAction$1@2f8ed25d>>
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 
<<frysk.util.ProcStopUtil$UtilEvent@2f8cff8d>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d0215observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<Observation[observable:frysk.proc.live.TaskObservable@2f8d02a5observer:frysk.proc.ProcBlockActi
on$ProcBlockTaskObserver@2f8de535]>>
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 
<<frysk.util.ProcStopUtil$UtilEvent@2f8cff8d>>
00:00:00.069 27105.27105 [Thread[Thread-1,5,main]]: runEventLoop executing 
<<frysk.util.ProcStopUtil$UtilEvent@2f8cff8d>>
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 
<<UnwindRegistersX8664_RIP>> 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 
<<UnwindRegistersX8664_RSP>> 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 <<exception 
java.lang.NullPointerException>>
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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]