Revolutionary-Games / Thrive

The main repository for the development of the evolution game Thrive.
https://revolutionarygamesstudio.com/
Other
2.85k stars 508 forks source link

Crashing from OgreGLSLShader.cpp Line 308. #727

Closed a-piece-of-garbage closed 5 years ago

a-piece-of-garbage commented 5 years ago

Using Ubuntu 18.10 and at the bottom of the log is ERROR: terminate called after throwing an instance of 'Ogre::RenderingAPIException' what(): OGRE EXCEPTION(3:RenderingAPIException): Fragment Program 100000001PixelShader_ps failed to compile. See compile log above for details. in GLSLShader::compile at /home/hhyyrylainen/Projects/Leviathan/ThirdParty/ogre/RenderSystems/GL3Plus/src/GLSL/OgreGLSLShader.cpp (line 308) child process exited with code null The game usually runs for a few minutes (enough for me to start playing) and then crashes. Will send whole log if needed.

hhyyrylainen commented 5 years ago

That error message says that the shader compile error should be above that in the log so if you could post the whole ogre log that would be helpful.

a-piece-of-garbage commented 5 years ago

Here is the whole log. It's a new one, but the same error. ` Process Started [ERROR] FileSystem: LoadDataDump: Failed to read file: ./ThriveGame.conf [INFO] NetworkHandler: running listening socket on port 52234 [INFO] NetworkHandler: no stored list of master servers, waiting for the update to finish [INFO] NetworkHandler: Fetching new master server list... [ERROR] FileSystem: LoadDataDump: Failed to read file: ThrivePersist.txt [ERROR] NetworkHandler: failed to update the master server list, using the old list [INFO] FileSystem: found 494 files in Data folder with 38 different types of extensions [INFO] FileSystem: vectors sorted and indexes created, took 649 micro seconds [INFO] GameModuleLoader: detected following module files: [INFO] ./Data/Scripts/microbe_stage/microbe_editor/microbe_editor.levgm which contains module "microbe_editor" [INFO] ./Data/Scripts/microbe_stage/microbe_stage.levgm which contains module "microbe_stage" AudioManager: Audio Decoder for extension .ogg registered. AudioManager: Audio Decoder for extension .wav registered. AudioManager: Audio Decoder for extension .raw registered. AudioManager: Data Source named FileSystem registered (Priority 0). [INFO] Detected audio devices: [INFO] > Built-in Audio Analog Stereo [INFO] End of devices [INFO] SoundDevice: Initializing sound with device: Built-in Audio Analog Stereo AudioManager: OpenAL Version: 1.1 ALSOFT 1.18.2 AudioManager: Vendor: OpenAL Community AudioManager: Renderer: OpenAL Soft AudioManager: Supported Extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_block_alignment AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_gain_clamp_ex AL_SOFT_loop_points AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize ERROR: [0206/221217.828182:ERROR:sandbox_linux.cc(379)] InitializeSandbox() called with multiple threads in process gpu-process. Creating resource group General Creating resource group Internal Creating resource group Autodetect SceneManagerFactory for type 'DefaultSceneManager' registered. Registering ResourceManager for type Material Registering ResourceManager for type Mesh Registering ResourceManager for type Mesh2 Registering ResourceManager for type OldSkeleton MovableObjectFactory for type 'ParticleSystem' registered. ArchiveFactory for archive type FileSystem registered. ArchiveFactory for archive type Zip registered. ArchiveFactory for archive type EmbeddedZip registered. DDS codec registering FreeImage version: 3.17.0 This program uses FreeImage, a free, open source image library supporting all common bitmap formats. See http://freeimage.sourceforge.net for details Supported formats: bmp,ico,jpg,jif,jpeg,jpe,jng,koa,iff,lbm,mng,pbm,pbm,pcd,pcx,pgm,pgm,png,ppm,ppm,ras,tga,targa,tif,tiff,wap,wbmp,wbm,psd,cut,xbm,xpm,gif,hdr,sgi,rgb,rgba,bw,exr,j2k,j2c,jp2,pfm,pct,pict,pic,3fr,arw,bay,bmq,cap,cine,cr2,crw,cs1,dc2,dcr,drf,dsc,dng,erf,fff,ia,iiq,k25,kc2,kdc,mdc,mef,mos,mrw,nef,nrw,orf,pef,ptx,pxn,qtk,raf,raw,rdc,rw2,rwl,rwz,sr2,srf,srw,sti,x3f,webp,jxr,wdp,hdp ETC codec registering OITD codec registering Registering ResourceManager for type HighLevelGpuProgram MovableObjectFactory for type 'Decal' registered. MovableObjectFactory for type 'Entity' registered. MovableObjectFactory for type 'Item' registered. MovableObjectFactory for type 'Light' registered. MovableObjectFactory for type 'BillboardSet' registered. MovableObjectFactory for type 'ManualObject2' registered. MovableObjectFactory for type 'BillboardChain' registered. MovableObjectFactory for type 'RibbonTrail' registered. MovableObjectFactory for type 'WireAabb' registered. -- OGRE Initialising -- Version 2.1.0unstable ('B') Loading library lib/RenderSystem_GL3Plus Installing plugin: GL 3+ RenderSystem OpenGL 3+ Rendering Subsystem created. Plugin successfully installed Loading library lib/Plugin_ParticleFX Installing plugin: ParticleFX Particle Emitter Type 'Point' registered Particle Emitter Type 'Box' registered Particle Emitter Type 'Ellipsoid' registered Particle Emitter Type 'Cylinder' registered Particle Emitter Type 'Ring' registered Particle Emitter Type 'HollowEllipsoid' registered Particle Affector Type 'LinearForce' registered Particle Affector Type 'ColourFader' registered Particle Affector Type 'ColourFader2' registered Particle Affector Type 'ColourImage' registered Particle Affector Type 'ColourInterpolator' registered Particle Affector Type 'Scaler' registered Particle Affector Type 'Rotator' registered Particle Affector Type 'DirectionRandomiser' registered Particle Affector Type 'DeflectorPlane' registered Plugin successfully installed [ERROR] Graphics: Init: no selected render system, invalid variable RenderSystemName, not found/wrong type [INFO] Graphics: preferred rendering system: "OpenGL.*" CPU Identifier & Features

a-piece-of-garbage commented 5 years ago

Sorry about the formatting, I couldn't get the code thing to work.

hhyyrylainen commented 5 years ago

Could you post the file thrive/bin/100000001PixelShader_ps.glsl here (or pastebin).

I think this is a crash because of the Ogre pbs generated shader. The flagella uses that so it likely crashes the first time you see a cell with flagella.

a-piece-of-garbage commented 5 years ago

Sorry, I can't find that file. May I ask where that directory is? I know Thrive is installed to /opt and I've found some stuff in /usr/local and ~/.config but not that particular file.

hhyyrylainen commented 5 years ago

The file should be in: ~/.config/Revolutionary-Games/Launcher/Installed/Thrive-0.4.0.2-LINUX-generic/Thrive-0.4.0.2-LINUX-generic/bin But it is also missing on my computer as well. It might be that the latest version no longer generates it there?

But anyway I have no clue as to why it isn't working. I'm going to post this on the Ogre forums and see if anyone has a clue there.

Edit: could you also post your OS version, kernel version and Mesa version?

Edit2: I've posted the thread: https://forums.ogre3d.org/viewtopic.php?f=2&t=94820

a-piece-of-garbage commented 5 years ago

I'm really sorry, I must be blind or something. ~/.config/Revolutionary-Games was right there, and I couldn't find the file because all I saw was ~/.config/Thrive\ Launcher. I found the 100000001PixelShader_ps.glsl file. Also, I'm using Xubuntu 18.10, kernel version 4.18.0-14-generic, and mesa-utils 8.4.0-1. 100000001PixelShader_ps.glsl.tar.gz

hhyyrylainen commented 5 years ago

Could you also post the shader generator script: ~/.config/Revolutionary-Games/Launcher/Installed/Thrive-0.4.0.2-LINUX-generic/Thrive-0.4.0.2-LINUX-generic/bin/CoreOgreScripts/DefaultHLMS/Hlms/Pbs/GLSL/PixelShader_ps.glsl as it is on your computer? There might be a problem with it.

a-piece-of-garbage commented 5 years ago

PixelShader_ps.glsl.tar.gz

darksylinc commented 5 years ago

What happens if you replace it with this file?

The only change is an extra newline.

PixelShader_ps.glsl.tar.gz

a-piece-of-garbage commented 5 years ago

Running perfectly now. Thanks! :)

NicholasDM commented 5 years ago

Received same issue, and same fix resolved said issue.

hhyyrylainen commented 5 years ago

This should now be updated in the engine files. Next thrive release should have the update.

hhyyrylainen commented 5 years ago

We have released a release candidate of the next release. Could anyone who had this issue see if this is fixed there: https://community.revolutionarygamesstudio.com/t/0-4-1-release-candidate-testing/1599 ?

hhyyrylainen commented 5 years ago

I'm going to assume that the fix was properly included and go ahead and close this.

a-piece-of-garbage commented 5 years ago

Was included, works fine.