Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

MTuner hangs in "Processing" of a snapshot taken of a Debug build #43

Closed
magcius opened this issue Oct 1, 2018 · 12 comments
Closed

MTuner hangs in "Processing" of a snapshot taken of a Debug build #43

magcius opened this issue Oct 1, 2018 · 12 comments

Comments

@magcius
Copy link

magcius commented Oct 1, 2018

I took a snapshot of a Debug build of our project. MTuner was able to successfully capture a ~250MB mtuner file but it seems to hang indefinitely for me during the Processing stage. I should be able to share the mtuner file privately.

@milostosic
Copy link
Collaborator

Hi, thanks for the feedback! Feel free to send me an email with details where I can download the file.
milostosic77@gmail.com

@milostosic
Copy link
Collaborator

I've just uploaded the latest release (v4.1.3), using it I cannot reproduce the problem locally.
I loaded your capture file and could see more than 500K memory operations...
Could this be related to symbol loading? Maybe downloading PDB files is taking a long time?

@magcius
Copy link
Author

magcius commented Oct 5, 2018

Interesting, maybe this is choking on loading .pdb files. I've left it for over 3 hours without it loading, so I do think this is an infinite loop or hang somewhere. I also tested on the latest release and still see the hang there.

@milostosic
Copy link
Collaborator

Yes, that much time does imply some dead loop. But I've loaded it just fine, could see which modules you're using (like PhysX, etc.) so the problem is elsewhere...
Since I can't reproduce it, the best would be if you ran MTuner through a debugger and then see where it hangs. Feel free to contact me via e-mail if you need any help with setting this up.

@magcius
Copy link
Author

magcius commented Oct 5, 2018

Indeed, however getting the build environment for MTuner might be a bit tricky. Do you provide debug builds of MTuner?

@milostosic
Copy link
Collaborator

I don't provide debug builds. However, setting up the build environment is actually fairly easy but yet to be fully documented. This is why I'll be happy to help with this.

Generally speaking this is needed:

  • Install Qt (I use online installer but building from source works too)
  • Set an environment variable for Qt path (needed for build)
  • Clone MTuner and dependent repositories
  • Generate projects with GENie

Obviously, there's a few more details so if you're up for this please let me know and I'll guide you through it.

@milostosic
Copy link
Collaborator

I'll close this now, we can reopen it if you're up for some debugging.

@dcb-framatome
Copy link

I'm experiencing the same problem. If the problem is indeed related to loading PDB files then please provide better documentation as to how to setup PDB lookup. I would think that MTuner should skip symbol lookup if the PDB is not found or is taking too long to download.

@dcb-framatome
Copy link

I built the debug version of MTuner. The program get's stuck at line 285 of pdb_file.cpp while loading the PDB file for my application (Qt/QML-based application). It's been stuck on that line for more than 3 hours. I also noticed that other PDB files were loaded before this one. However, the PDB file loading does not update the GUI. The GUI should be updated after every PDB file is loaded so that it remains responsive.

@dcb-framatome
Copy link

numSymbolsFetched == 1

@dcb-framatome
Copy link

It finally finished loading after 5 hours. In spite of all the time it took to load symbols, the call stack tree shows all functions as unknown.

@dcb-framatome
Copy link

I take that back. Opening up the "UNKNOWN's" shows the function calls.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants