Is Inspector hung?

Is Inspector hung?


My first time trying Inspector, on Linux, with the goal of detecting data races.

My program is compiled with g++ with -g and in the shell runs in about 90 seconds.

When I fired up a "Locate Deadlocks and Data Races" run inside of the inspector GUI, I see some messages mixed in with the stdout of my program which may or may not be important:

[Parent 15218, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /builddir/build/BUILD/firefox-68.7.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 727
[Parent 15218, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /builddir/build/BUILD/firefox-68.7.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 727
[Parent 15218, Gecko_IOThread] WARNING: pipe error: Broken pipe: file /builddir/build/BUILD/firefox-68.7.0/ipc/chromium/src/chrome/common/ipc_channel_posix.cc, line 727

(inspxe-gui:4929): Gtk-CRITICAL **: 10:56:56.395: IA__gtk_window_resize: assertion 'width > 0' failed

(inspxe-gui:4929): Gtk-CRITICAL **: 10:57:06.074: IA__gtk_window_resize: assertion 'width > 0' failed

My program inside of inspector took about an hour to complete.  But in the Collection Log window, in the "Memory Used By Analysis Tool and Target Application" section, it started a graph showing memory used, which updated for less than a minute (according to the time labels on the bottom of the graph) and then never updated again.

Now it's over 3 and a half hours after my program finished (in its hour) and the Collection Log window is still just sitting there with "Please wait while the result data is collected ..." and a rotating circular wait cursor.

I assume it's never going to finish.

What's the problem and how do I get to a successful "Locate Deadlocks and Data Races" run?

3 posts / 0 new

Hi Steve,

It is hard to say what causes that hang. In general, Inspector adds a lot of overhead to application and consequently affects timing of various events. Sometimes it could trigger bugs that are not normally seen when application runs without instrumentation. On the other hand, some bug in Inspector itself could be root cause of that hang.

I would suggest to investigate why there is warning on broken pipe. Maybe something doesn’t work as expected there and could give more hints. GTK warnings from Inspector’s GUI client are from another process and should not affect analysis.

Also, check details of real time graph on Collection Log. There is tiny expand button at the bottom of the graph. If you expand it, you should see list of threads in your application with activity counters. Check if there is some work going on. If main thread constantly marked as inside of system call, it might indicate that it is waiting on some synchronization primitive that is likely causing that hang.

One more option is to run analysis with debugger (use appropriate option in Inspector) and try to stop process periodically to see if it works as expected.


Note that it's not my app which is hung.  Inspector stopped tracking the real time graph in the collection log early in my run.  My run completes.

Inspector does nothing.

Help!

 

Leave a Comment

Please sign in to add a comment. Not a member? Join today