I've reported that FlightGear may crash on Macs with nVidia Graphic cards due to likely driver bug in hardware mipmapping in a multi-thread environment. I've already introduced a workaround for this issue on 1.9.0 but it didn't cover all the nVidia drivers.
So I decided to disable hardware mipmapping on all nvidia drivers for avoiding annoying crash report.
How to update?
First, please read "Who needs to update" below and check if you need to update the framework. If you have never encounter a crash report while running FlightGear, you don't have to install this update. If you need this patch, then follow the instructions below:
- Download osg.framework that includes a workaround for this issue.
- install osg.framework.tar.gz using the GUI Launcher by selecting "Advanced Features >> Others >> Install Add-on data"
- make sure there's no errors on the "Installation Completed" dialog.
- restart FlightGear (the GUI Launcher).
Who needs to update?
If you get a crash report that include the examples below or similar (the point is if your crash log include either gleGenMipmaps or gleGenMipmapsToLevel), please download the patched osg.framework and install it via the GUI launcher. This patch is applicable only for 1.9.0. 1.0.0 or prier versions does not need this patch.
crash log example 1
Thread 0 Crashed:
0 com.apple.GeForce3GLDriver 0x0281e90c gldDestroyVertexArray + 53952
1 com.apple.GeForce3GLDriver 0x0281ee90 gldDestroyVertexArray + 55364
2 com.apple.GeForce3GLDriver 0x02826ef8 gldGetQueryInfo + 19612
3 com.apple.GeForce3GLDriver 0x02826720 gldGetQueryInfo + 17604
4 com.apple.GeForce3GLDriver 0x0282a4a4 gldGetTextureLevel + 7436
5 GLEngine 0x02b00ef8 gleGenMipmapsToLevel + 148
6 GLEngine 0x02a1dc88 glTexImage2D_Exec + 864
7 libGL.dylib 0x92f2a05c glTexImage2D + 172
8 org.OpenSceneGraph.osg 0x012ce988 osg::Texture::applyTexImage2D_load(osg::State&,
unsigned, osg::Image const*, int, int, int) const + 1920
9 org.OpenSceneGraph.osg 0x012d5164 osg::Texture2D::apply(osg::State&) const + 1440
crash log example 2
Thread 0 Crashed:
0 <<00000000>> 0xffff08a0 __memcpy + 256 (cpu_capabilities.h:228)
1 ...er.AppleIntelGMA950GLDriver 0x01f05dfb glrLoadSysTexture + 4163
2 ...er.AppleIntelGMA950GLDriver 0x01f07688 glrGenerateTexMipmaps + 3962
3 GLEngine 0x12b3ff92 gleGenMipmaps + 134
4 GLEngine 0x12a23881 glTexImage2D_Exec + 1071
5 libGL.dylib 0x92b37676 glTexImage2D + 139
6 org.OpenSceneGraph.osg 0x012cb741 osg::Texture::applyTexImage2D_load(osg::State&,
unsigned, osg::Image const*, int, int, int) const + 2819
7 org.OpenSceneGraph.osg 0x012d28ea osg::Texture2D::apply(osg::State&) const + 2400