- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Giselle, nice meeting you at siggraph on tuesday.
I tried GPA (linux) on my app, but it crashed with a floating point error.
I suspect your tool does a division by zero somewhere?
As a rule, I run my games with FP exceptions enabled, so that I can catch all cases of NaN.
It should be easy to reproduce on your end, just add this to a linux app:
#include <fenv.h>
feenableexcept( FE_DIVBYZERO | FE_INVALID | FE_OVERFLOW );
The crash:
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `/home/bram/apps/Armor/armor'.
Program terminated with signal SIGFPE, Arithmetic exception.
#0 0x00007f9044575484 in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGLHUD.so
[Current thread is 1 (Thread 0x7f90505f7800 (LWP 15024))]
>>> where
#0 0x00007f9044575484 in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGLHUD.so
#1 0x00007f9044579ab4 in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGLHUD.so
#2 0x00007f90445508c5 in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGLHUD.so
#3 0x00007f9044548faf in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGLHUD.so
#4 0x00007f904fe8f515 in ?? () from /opt/intel/gpa/SystemAnalyzer/lib/libGPA.so
#5 0x00007f904feb56aa in glXSwapBuffers () from /opt/intel/gpa/SystemAnalyzer/lib/libGPA.so
#6 0x00007f904f72ed73 in X11_GL_SwapWindow (_this=<optimized out>, window=<optimized out>) at ./src/video/x11/SDL_x11opengl.c:925
#7 0x0000000000405fad in draw_screen () at XWin/main.cpp:45
#8 0x0000000000405ad5 in iterate () at XWin/main.cpp:257
#9 0x0000000000406761 in main (argc=1, argv=0x7ffda78ab968) at XWin/main.cpp:421
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Bram,
It was good to meet you as well! Could you send me some additional information about your machine. I'll need you to select the 'i' button from within the tool to pull up the "about information" for your machine. This will allow me to see the hardware config. you have.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks,
So... I ran /opt/intel/gpa/SystemAnalyzer/bin/run_app on my binary, and it crashed on launch: I got no chance to interact with a tool or press 'i'.
I did manage to get 'about' info from /opt/intel/gpa/FrameAnalyzer/GpaMonitor.sh though, see below.
That said, I expect 'run_app' to crash on any machine, with any hardware for any app that enables FP exceptions. The HUD does a sqrt(0) or div by zero somewhere, I'm certain. (Or possibly acos(1.0001) or something.)
Bram
PS: It also crashes when I load my binary in the GpaMonitor.sh app and launch it from there.
Operating System:
Name: Ubuntu 18.04.1 LTS
Locale: en_CA
CPU Information:
Architecture: x64
Cores count: 4
GPU Information:
Name: NVIDIA GeForce GTX 750 Ti
Vendor id: 0x10DE
Product id: 0x1380
Machine:
Name: Desktop64
Memory: 24043 MB
Screen: 2560x1600, 24 bit
Graphics Performance Analyzers:
Version: 18.2.324856
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Also note:
Crash goes away if I don't enable FP exceptions.
I did notice that GPA does seem to interfere my OpenAL framework. When I launch my app via GPA, I get these errors:
AL lib: (WW) pulse_load: Failed to load libpulse.so.0 AL lib: (WW) alc_initconfig: Failed to initialize backend "pulse" AL lib: (WW) alsa_load: Failed to load libasound.so.2 AL lib: (WW) alc_initconfig: Failed to initialize backend "alsa" AL lib: (EE) ALCplaybackOSS_open: Could not open /dev/dsp: No such file or directory AL lib: (WW) alcSetError: Error generated on device (nil), code 0xa004
I think because GPA changes library paths?
Lastly, when my app, launched from GPA, is running, it does show a HUD. But I think the drawing of this HUD has some issues as well. I run OpenGL Core Profile, and get this OpenGL error from your HUD, every frame:
GL_INVALID_OPERATION error generated
which does not happen if I run the app without the tool. In my experience, sometimes this is caused by the use of glLineWidth() with a value that is not 1.0 as the Core Profile does not support this.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bram,
I will share this with the engineering team to get some insight. Thank you for the information! I hope we'll be able to find another solution for you soon! I also ave one last question, which OpenGL version are you using?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I use OpenGL 3.2 Core Profile.
I expect this to trigger the GL_INVALID_OPERATION by the Hud Drawing.
For the NaN exception, I expect this not to matter. Most people run their code with FP exceptions disabled, so are not aware of div by zero and such.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Good news! We've added a fix for this issue that you should see in the next release. Please let me know if you ave any additional issues.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Giselle,
This bug is back. I see that an app running via gpa-monitor crashes when FP exceptions are enabled.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Bram,
Darn. I'm sorry to hear that.
(Giselle is no longer here. We all miss her.)
I guess you've tried the same ways to open your application . . .
I will escalate to the devs.
Meanwhile, there are some possible work arounds:
#1
- Go to the settings cogwheel on the top right of Graphics Monitor
- toggle on the Auto detect Launched Applications option (the first/top toggle button)
- start you app outside of Graphics Monitor
- Graphics monitor should automatically connect to it
#2
If the divide by zero is in the HUD, then, depending on where it is, disabling the HUD metrics may do the trick.
- click on the options button on the bottom left of Graphics Monitor
- in the bottom section "Active HUD metrics" drag each metric up, out of that section
Let me know if either of those help.
Pamela

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page