Imagination PowerVR SDK Blog

Segfault with latest PC SDK

pvrvframe

#1


Hi,

I am trying the PC Emulation SDK (SDK_OGLES2_LINUX_PCEMULATION_2.05.25.0804.tgz) and so far had no luck with provided demos / training courses. All programs fail with a segmentation fault:

chombourger@hp:~/SDKPackage/Demos/Skybox2/OGLES2/Build/LinuxPC/ReleaseX11$ ./OGLES2Skybox2
PVRShell: EGL 1.3 initialized
Profile Chosen: SGX530
Segmentation fault

Running from gdb shows:

chombourger@hp:~/SDKPackage/Demos/Skybox2/OGLES2/Build/LinuxPC/ReleaseX11$ gdb ./OGLES2Skybox2
GNU gdb (GDB) 7.0-ubuntu
Copyright © 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and “show warranty” for details.
This GDB was configured as “i486-linux-gnu”.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>…
Reading symbols from /home/chombourger/SDKPackage/Demos/Skybox2/OGLES2/Build/LinuxPC/ReleaseX11/OGLES2Skybox2…done.
(gdb) run
Starting program: /home/chombourger/SDKPackage/Demos/Skybox2/OGLES2/Build/LinuxPC/ReleaseX11/OGLES2Skybox2
[Thread debugging using libthread_db enabled]
PVRShell: EGL 1.3 initialized
Profile Chosen: SGX530

Program received signal SIGSEGV, Segmentation fault.
0x005846e9 in strcat () from /lib/tls/i686/cmov/libc.so.6
(gdb) bt
#0  0x005846e9 in strcat () from /lib/tls/i686/cmov/libc.so.6
#1  0x0048cada in glGetString () from /home/chombourger/SDKPackage/Builds/OGLES2/LinuxPC/Lib/libGLESv2.so
#2  0x0040e0f6 in myGLESStringsDisplay () from /home/chombourger/SDKPackage/Builds/OGLES2/LinuxPC/Lib/libGLESv2.so
#3  0x00183d44 in egl_functions::eglMakeCurrent(void*, void*, void*, void*) () from /home/chombourger/SDKPackage/Builds/OGLES2/LinuxPC/Lib/libEGL.so
#4  0x0018417e in eglMakeCurrent () from /home/chombourger/SDKPackage/Builds/OGLES2/LinuxPC/Lib/libEGL.so
#5  0x080507cb in PVRShellInit::ApiInitAPI() ()
#6  0x0804f4d1 in PVRShellInit::Run() ()
#7  0x08050c50 in main ()
(gdb)

I am running Ubuntu 9.10 (32-bits) on an Intel Centrino Duo and ATI Radeon X1600 mobility. My Xserver is currently using the open source drivers.

Any ideas what’s going wrong?

Thanks



#2

Sorry for the necro, but I have the same problem with the latest SDK (Linux, build 2.06.26.0649). I’m on a fresh Ubuntu 10.04 installation, GPU is ATI Radeon 5870 with latest proprietary drivers.

All of the SDK demos and TrainingCourse examples, as well as my own application, produce the same segmentation fault in strcat after a call to eglMakeCurrent. The windows version of the SDK and my app both work fine on the same machine (Windows 7).

Is there any known issue related to this?


#3

In a week time there will be an update of some of our utilites, and pvrvframe among them that contains a bugfix of this issue . So you please try it when it is available and then tell us if it solve segfault.



#4

WE have just updated PVRVFrame (you can get it from usual place on our website) . It contains a fix that should solve your issue. If not then let us know



#5

Thanks for the quick reply.

Unfortunately the new PVRVFrame has the same

issue. I forgot to mention in my previous reply that right before the segfault, there’s an X error: X Error: code 8 major 159 minor 5: BadMatch (invalid parameter attributes). Not sure if that helps at all.

Thanks again and let me know if you’d like me to do further testing, provide more information, or even try it with a debug build.


#6

Hi,

Can you run normal OpenGL applications on your platform? Could you run glxinfo and send

its output to devtech@imgtec.com . Can you confirm that you have a hardware acceleration

when running glxgears or any other opengl application?Â

Regards,


jacekc2010-05-18 14:36:40

#7

Hey again,

All normal OpenGL applications run fine, glxgears runs at something like 7700 fps. glxinfo output was normal too, GLX version 1.4 + loads of GLX extensions, OpenGL version 3.2.9756 (compatibility profile) + loads of extensions, 81 GLX visuals and 91 GLXFBConfigs.

Then I noticed something weird, the direct rendering flag was “No (LIBGL_ALWAYS_INDIRECT set)”. I did some searching and found that LIBGL_ALWAYS_INDIRECT is related to the compiz window manager. I changed Ubuntu’s Visual Effects setting to None and the emulator works fine. glxinfo’s direct rendering flag is also “Yes” now.

So problem solved. Not sure if you can work around this without disabling compiz, I heard it’s creating problems for many other applications too (e.g. OOo’s full-screen presentation mode).

Thanks again for the support.


#8

Thanks for your valuable feedback. We will take a look on compiz issues in future