Frictional Games Forum (read-only)
Steam version of Penumbra - Black Plague : Crash at first level. - Printable Version

+- Frictional Games Forum (read-only) (https://www.frictionalgames.com/forum)
+-- Forum: Technical Support (https://www.frictionalgames.com/forum/forum-57.html)
+--- Forum: Technical Support - Penumbra Series (https://www.frictionalgames.com/forum/forum-22.html)
+---- Forum: Linux - Penumbra (https://www.frictionalgames.com/forum/forum-25.html)
+---- Thread: Steam version of Penumbra - Black Plague : Crash at first level. (/thread-54134.html)

Pages: 1 2


Steam version of Penumbra - Black Plague : Crash at first level. - jackdoe - 02-05-2018

When trying to flatten the coin at the vice, whole game suddenly terminates. It seems that there is some bug in the particle system of the game.

OS is Arch Linux 64-bit.

backtrace from gdb
Code:
GNU gdb (GDB) 8.1
Copyright (C) 2018 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 "x86_64-pc-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /mnt/UUSI_DATA/pelit/steam_linux/steamapps/common/Penumbra Black Plague/blackplague.bin...(no debugging symbols found)...done.
[New LWP 12606]
[New LWP 12613]
[New LWP 12609]
[New LWP 12615]
[New LWP 12608]
[New LWP 12607]
[New LWP 12612]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `./blackplague.bin'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  0xf41c4b98 in ?? () from /usr/lib32/dri/r600_dri.so
[Current thread is 1 (Thread 0xf693d380 (LWP 12606))]
(gdb) bt
#0  0xf41c4b98 in ?? () from /usr/lib32/dri/r600_dri.so
#1  0xf4062c74 in ?? () from /usr/lib32/dri/r600_dri.so
#2  0xf3c2d2d6 in ?? () from /usr/lib32/dri/r600_dri.so
#3  0xf3befb70 in ?? () from /usr/lib32/dri/r600_dri.so
#4  0xf3b84375 in ?? () from /usr/lib32/dri/r600_dri.so
#5  0xf3bf2915 in ?? () from /usr/lib32/dri/r600_dri.so
#6  0xf3bf45ab in ?? () from /usr/lib32/dri/r600_dri.so
#7  0xf3b72f82 in ?? () from /usr/lib32/dri/r600_dri.so
#8  0xf3b749aa in ?? () from /usr/lib32/dri/r600_dri.so
#9  0x083f42a1 in hpl::cSDLTexture::CreateFromBitmapToHandle(hpl::iBitmap2D*, int) ()
#10 0x083f5609 in hpl::cSDLTexture::CreateFromBitmap(hpl::iBitmap2D*) ()
#11 0x08381716 in hpl::cTextureManager::CreateFlatTexture(std::string const&, bool, bool, hpl::eTextureType, hpl::eTextureTarget, unsigned int) ()
#12 0x083794ec in hpl::cMaterialManager::LoadFromFile(std::string const&, std::string const&) ()
#13 0x08379c8a in hpl::cMaterialManager::CreateMaterial(std::string const&) ()
#14 0x082f8790 in hpl::cParticleEmitterData3D_UserData::LoadFromElement(TiXmlElement*) ()
#15 0x082f11fd in hpl::cParticleSystemData3D::LoadFromFile(std::string const&) ()
#16 0x08395cab in hpl::cParticleManager::CreatePS3D(std::string const&, std::string const&, hpl::cVector3<float>, hpl::cMatrix<float> const&) ()
#17 0x0835584a in hpl::cWorld3D::CreateParticleSystem(std::string const&, std::string const&, hpl::cVector3<float> const&, hpl::cMatrix<float> const&) ()
#18 0x08324561 in ?? ()
#19 0x0857d482 in CallSTDCallFunction(unsigned long const*, int, unsigned int) ()
#20 0x0857da17 in CallSystemFunction(int, asCContext*, void*) ()
#21 0x085a0e4d in asCContext::ExecuteNext() ()
#22 0x085a38ce in asCContext::Execute() ()
---Type <return> to continue, or q <return> to quit---
#23 0x085632ce in asCScriptEngine::ExecuteString(char const*, char const*, asIScriptContext**, unsigned long) ()
#24 0x0841da38 in hpl::cSqScript::Run(std::string const&) ()
#25 0x081a5879 in cInit::RunScriptCommand(std::string const&) ()
#26 0x0827bf65 in cGameWheel::RunCallback(eGameWheelState, eGameWheelAction) ()
#27 0x0827c2ab in cGameWheel::Update(float) ()
#28 0x082a7764 in iGameEntity::OnUpdate(float) ()
#29 0x082076ef in cMapHandler::Update(float) ()
#30 0x08322a97 in hpl::cUpdater::Update(float) ()
#31 0x0831f0f3 in hpl::cGame::Run() ()
#32 0x08246628 in hplMain(std::string const&) ()
#33 0x083e7cab in main ()

Excerpt from lspci
Code:
01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS780D [Radeon HD 3300]

Code:
Linux 4.15.1-2-zen #1 ZEN SMP Sun Feb 4 22:27:39 UTC 2018 x86_64 GNU/Linux



RE: Steam version of Penumbra - Black Plague : Crash at first level. - twe123 - 03-17-2018

This seems to be the same issue that i reported in here: https://www.frictionalgames.com/forum/thread-53999.html

When is this going to be fixed?


RE: Steam version of Penumbra - Black Plague : Crash at first level. - jackdoe - 04-07-2018

Managed to get some more info. Enabled Mesa to output debug info and managed to catch this.

Code:
Mesa: User error: GL_INVALID_ENUM in glTexParameter(param=0x2901)
Mesa: User error: GL_INVALID_ENUM in glTexParameter(param=0x2901)



RE: Steam version of Penumbra - Black Plague : Crash at first level. - Mudbill - 04-07-2018

That's an OpenGL error, which either indicates invalid code in Penumbra or (more likely) a difference in your video driver's OpenGL implementation. Though considering how many have this issue, I'm reluctant at saying just that. Perhaps it has to do with how old Penumbra is, and newer drivers have maybe changed some things that they used? I believe it uses deprecated OpenGL functions by today's standards. Perhaps an old driver makes a difference?


RE: Steam version of Penumbra - Black Plague : Crash at first level. - bugmenot - 05-05-2018

AFAIK, the Radeon HD 3300 uses the old Catalyst driver, while mine (RX470) uses the new open-source "amdgpu" driver. However, both lead to the same error in Penumbra.

For me, I cannot savely downgrade mesa (the openGL implementation) so much without messing up my system.

Is there any certain combination of Linux distribution/kernel/driver with which Penumbra should work, with regard to the reported error?

@jackdoe: Did you get Penumbra to work any other way in the meantime?


RE: Steam version of Penumbra - Black Plague : Crash at first level. - jackdoe - 05-09-2018

(05-05-2018, 03:20 PM)bugmenot Wrote: AFAIK, the Radeon HD 3300 uses the old Catalyst driver, while mine (RX470) uses the new open-source "amdgpu" driver. However, both lead to the same error in Penumbra.

For me, I cannot savely downgrade mesa (the openGL implementation) so much without messing up my system.

Is there any certain combination of Linux distribution/kernel/driver with which Penumbra should work, with regard to the reported error?

@jackdoe: Did you get Penumbra to work any other way in the meantime?


With Wine, but the scripts (their timing) are somehow messed up.  So its unplayable from certain point onward (the mental realm). Undecided

I use the open source graphics driver (radeon kernel driver, r600 from mesa) which comes with Mesa, so no Catalyst here.


RE: Steam version of Penumbra - Black Plague : Crash at first level. - ced117 - 05-10-2018

Interesting.
Did anyone try with proprietary drivers ?


RE: Steam version of Penumbra - Black Plague : Crash at first level. - jackdoe - 05-25-2018

It seems that after updating to development version of Mesa (Mesa GIT 1.8.2.0 38a8c5903be787b203ec6586e6ce5f9cc8a5a6cf, built using this AUR package https://aur.archlinux.org/packages/lib32-mesa-git/. Also updating LLVM infrastucture to development version 7.0.0 r333107, built using this AUR package https://aur.archlinux.org/packages/lib32-llvm-svn/), I can proceed normally on Steam version of Penumbra - Black Plague. 

No crashes during usage of the vice. Smile

Code:
Linux 4.16.10-1-ARCH #1 SMP PREEMPT Mon May 21 07:57:23 UTC 2018 x86_64 GNU/Linux


[attachment=6348]


RE: Steam version of Penumbra - Black Plague : Crash at first level. - jackdoe - 06-04-2018

It seems that you need disable optimizations (option -O0) when building the mesa packages, otherwise the game crashes at the vice.


RE: Steam version of Penumbra - Black Plague : Crash at first level. - Guest - 09-24-2018

(06-04-2018, 08:14 PM)jackdoe Wrote: It seems that you need disable optimizations (option -O0) when building the mesa packages, otherwise the game crashes at the vice.

Hi jackdoe, maybe you can help me. Mesa 18.2.0 is now in Arch's official repositories but the game still crashes at the vice (using LLVM v6.0.1 though).

I also tried to build mesa-git + lib32-mesa-git (18.3.0) from AUR but building the dependencies failed after hours so I removed the make dependencies and just used LLVM v6 instead of v8. That worked but now the game still crashes at the mentioned point. The building process uses meson, and I added optimization options like so just in case:

Code:
  export CC="gcc -m32 -O0"
  export CXX="g++ -m32 -O0"

Do you have any tips / ideas? Did you disable any in-game graphic options? Should I just wait for LLVM 7.x to reach Arch's official repos or won't that make a difference either?

You are my last hope as devs don't seem to be very active about this issue :-c