[Thread debugging using libthread_db enabled]
[New Thread 0xb69edb70 (LWP 639)]
[New Thread 0xb71eeb70 (LWP 638)]
CrashHandlerPOSIX::handleCrash (this=0x9e17540, signal=4, code=2) at /home/karsten/projects/ArxLibertatis/src/platform/crashhandler/CrashHandlerPOSIX.cpp:285
285 while(true) {
[Current thread is 1 (Thread 0xb77106d0 (LWP 636))]
Id Target Id Frame
3 Thread 0xb71eeb70 (LWP 638) "arx" 0x00cd0416 in __kernel_vsyscall ()
2 Thread 0xb69edb70 (LWP 639) "Sound Update" 0x00cd0416 in __kernel_vsyscall ()
* 1 Thread 0xb77106d0 (LWP 636) "arx" CrashHandlerPOSIX::handleCrash (this=0x9e17540, signal=4, code=2) at /home/karsten/projects/ArxLibertatis/src/platform/crashhandler/CrashHandlerPOSIX.cpp:285
Thread 3 (Thread 0xb71eeb70 (LWP 638)):
#0 0x00cd0416 in __kernel_vsyscall ()
No symbol table info available.
#1 0x00b0b7ae in __GI___poll (fds=0xb71ee2a0, nfds=1, timeout=1000) at ../sysdeps/unix/sysv/linux/poll.c:87
resultvar = <optimized out>
oldtype = -516
result = <optimized out>
#2 0x00d15a5e in ?? () from /usr/lib/i386-linux-gnu/libasound.so.2
No symbol table info available.
#3 0x00d15c24 in snd_pcm_wait () from /usr/lib/i386-linux-gnu/libasound.so.2
No symbol table info available.
#4 0x00473725 in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#5 0x00416df0 in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#6 0x009d7d31 in start_thread (arg=0xb71eeb70) at pthread_create.c:304
__res = <optimized out>
pd = 0xb71eeb70
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {10391540, 0, 4001536, -1222712184, 128110811, 10458036}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
robust = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00b1a46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further
Thread 2 (Thread 0xb69edb70 (LWP 639)):
#0 0x00cd0416 in __kernel_vsyscall ()
No symbol table info available.
#1 0x009df296 in nanosleep () at ../sysdeps/unix/syscall-template.S:82
No locals.
#2 0x0842d055 in Thread::sleep (milliseconds=100) at /home/karsten/projects/ArxLibertatis/src/platform/Thread.cpp:242
t = {tv_sec = 0, tv_nsec = 100000000}
#3 0x08366c96 in SoundUpdateThread::run (this=0x9f0e7b0) at /home/karsten/projects/ArxLibertatis/src/scene/GameSound.cpp:1869
No locals.
#4 0x0842cfc5 in Thread::entryPoint (param=0x9f0e7b0) at /home/karsten/projects/ArxLibertatis/src/platform/Thread.cpp:111
thread = @0x9f0e7b0
#5 0x009d7d31 in start_thread (arg=0xb69edb70) at pthread_create.c:304
__res = <optimized out>
pd = 0xb69edb70
now = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {10391540, 0, 4001536, -1231104888, 130207960, 10458036}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
robust = <optimized out>
pagesize_m1 = <optimized out>
sp = <optimized out>
freesize = <optimized out>
__PRETTY_FUNCTION__ = "start_thread"
#6 0x00b1a46e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130
No locals.
Backtrace stopped: Not enough registers or memory available to unwind further
Thread 1 (Thread 0xb77106d0 (LWP 636)):
#0 CrashHandlerPOSIX::handleCrash (this=0x9e17540, signal=4, code=2) at /home/karsten/projects/ArxLibertatis/src/platform/crashhandler/CrashHandlerPOSIX.cpp:285
No locals.
#1 0x08433a41 in signalHandler (signal=4, info=0xbfb38c5c, context=0xbfb38cdc) at /home/karsten/projects/ArxLibertatis/src/platform/crashhandler/CrashHandlerPOSIX.cpp:46
No locals.
#2 <signal handler called>
No symbol table info available.
#3 0x007ca54b in iConvertPal () from /usr/lib/libIL.so.1
No symbol table info available.
#4 0x007caad6 in ilConvertPal () from /usr/lib/libIL.so.1
No symbol table info available.
#5 0x007b797e in iConvertPalette () from /usr/lib/libIL.so.1
No symbol table info available.
#6 0x007b7c24 in iConvertImage () from /usr/lib/libIL.so.1
No symbol table info available.
#7 0x007b8a49 in ilConvertImage () from /usr/lib/libIL.so.1
No symbol table info available.
#8 0x08278ea5 in Image::LoadFromMemory (this=0xa285318, pData=0xa28abd0, size=17464) at /home/karsten/projects/ArxLibertatis/src/graphics/image/Image.cpp:279
bLoaded = 1 '\001'
imageName = 2
imgFormat = 32992
bytesPerPixel = 170427508
dataSize = 4294967295
#9 0x08278cd1 in Image::LoadFromFile (this=0xa285318, filename=@0xa285338) at /home/karsten/projects/ArxLibertatis/src/graphics/image/Image.cpp:198
size = 17464
pData = 0xa28abd0
ret = false
#10 0x082b4d98 in Texture2D::Restore (this=0xa2852f8) at /home/karsten/projects/ArxLibertatis/src/graphics/texture/Texture.cpp:54
bRestored = false
#11 0x082b4c41 in Texture2D::Init (this=0xa2852f8, strFileName=@0xbfb3933c, newFlags={flags = 2}) at /home/karsten/projects/ArxLibertatis/src/graphics/texture/Texture.cpp:26
No locals.
#12 0x08268708 in TextureContainer::LoadFile (this=0xa285258, strPathname=@0xbfb39410) at /home/karsten/projects/ArxLibertatis/src/graphics/data/TextureContainer.cpp:256
flags = {flags = 2}
bLoaded = false
tempPath = {pathstr = {_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xa288474 "graph/particles/shine1.bmp"}}}
foundPath = true
#13 0x08268a7b in TextureContainer::Load (name=@0xbfb39410, flags={flags = 5}) at /home/karsten/projects/ArxLibertatis/src/graphics/data/TextureContainer.cpp:299
newTexture = 0xa285258
#14 0x08268b61 in TextureContainer::LoadUI (strName=@0xbfb39410, flags={flags = 0}) at /home/karsten/projects/ArxLibertatis/src/graphics/data/TextureContainer.cpp:314
No locals.
#15 0x081ba671 in LoadSysTextures () at /home/karsten/projects/ArxLibertatis/src/core/Core.cpp:905
i = 1
temp = "graph/particles/shine1\000\000\000\000\000\000\370\235\263\277\374k#\b,\236\263\277\060\034(\nÐ¥'\n|Sy\bH\255&\n`\237\263\277\060\034(\n\000\000\000\001\000\b\000\000`\237\263\277H\236\263\277gh#\bh\237\263\277,\236\263\277î«\000Ð¥'\n`\237\263\277\f\000\000\000\v\000\000\000\035v%\000W\\%\000\364?*\000\060\000\000\000\376\\%\000\000\000\000\000Ð¥'\n8\000\000\000\035\001%\001W\\%\000\364?*\000-\000\000\000\a\000\000\000X\237\263\277h\237\263\277`\237\263\277\364\017\274\000\000$\274\000 \000\000\000-\000\000\000\370\247\253\000p\237\263\277h\237\263\277`\237\263\277\364?*\000-\000\000\000 \000\000\000\037\237\263\277\327\t'\000-\000\000\000T\237\263\277\300\237\263\277\325\036'\000\364?*\000 \000\000\000 \000\000"
i = 15699956
current = 0xa49ecc
#16 0x081b8e72 in InitializeDanae () at /home/karsten/projects/ArxLibertatis/src/core/Core.cpp:608
levelPath = {pathstr = {_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xa27af14 "graph/levels/level10"}}}
levelFullPath = {pathstr = {_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0xa288fb4 "graph/levels/level10/level10.dlf"}}}
#17 0x081b9f8a in main (argc=2, argv=0xbfb3b704) at /home/karsten/projects/ArxLibertatis/src/core/Core.cpp:829
logFile = {pathstr = {_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x9e17f74 "/home/karsten/.local/share/arx/arx.log"}}}
rel = {flags = 65535}
Really delete this comment?
30abbaa9-636e-40a4-9c97-cab75b5f45a7
Really delete this comment?
30abbaa9-636e-40a4-9c97-cab75b5f45a7
Really delete this comment?
30abbaa9-636e-40a4-9c97-cab75b5f45a7
Really delete this comment?
Does this happen every time or just this once? Maybe there will be more information if it happens again.
Did Arx Libertatis work before?
"Illegal instruction" could be caused by memory or stack corruption, but could also mean that your binary was compiled for the wrong architecture. Did you add any additional C/C++ flags like -march or -msse when compiling arx?
Really delete this comment?
Really delete this comment?
I didn't add any additional flags. Just ran cmake and make, like the wiki said.
Also, it seems that the crash report didn't work completely because ptrace complained that it needs su rights. I ran arx with sudo and added the stacktrace that came up then.
Really delete this comment?
Really delete this comment?
Really delete this comment?
The crash appears to happen deep in DevIL. I assume you installed the libdevil1c2 package from the normal ubuntu repos? What version do you have?
Could you update the source and try again, but instead enable the debug mode? When compiling run $ cmake -DCMAKE_BUILD_TYPE=Debug instead of just cmake and then after making run arx using $ ./arx --debug=src
This will hopefully generate a lot of output on the console (and the same in arx.log). Post the updated arx.log, crash.xml and gdb backtrace.
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
My DevIL version, according to the package manager, is 1.7.8-6build2.
Really delete this comment?
The only remaining explanation is that you devil library really uses instructions that are not supported by your CPU. If you are sure that your CPU is not too old to be supported by your Ubuntu distribution, you could try reporting this to the maintainers of the devil package.
Sorry that I can't be of more help here.
The issue was updated with the following change(s):
Really delete this comment?
you seem to be correct.
I tried compiling DevIL in debug mode. This made the game suddenly work. I noticed that it compiled without any extensions so I disabled SSE3 and compiled in release mode. With this the game also runs now.
So, yes, the problem was inside DevIL, not Arx.
Beliar
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?
Really delete this comment?