Closed ghost closed 1 year ago
Describe what is happening. Copy/paste some log. You can also visit the discord server mentioned in the README.
Box86 with Dynarec v0.1.3 7476425 built on Oct 24 2020 08:06:27 Box86 with Dynarec v0.1.3 7476425 built on Oct 24 2020 08:06:27 Box86 with Dynarec v0.1.3 7476425 built on Oct 24 2020 08:06:27 0009:err:winediag:SECUR32_initNTLMSP ntlm_auth was not found or is outdated. Make sure that ntlm_auth >= 3.0.25 is in your path. Usually, you can find it in the winbind package of your distribution. 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x4245f278,0x00000000), stub! 0009:fixme:d3d:wined3d_guess_card No card selector available for card vendor 0000 (using GL_RENDERER "Gallium 0.4 on llvmpipe (LLVM 3.4, 128 bits)"). 0009:err:winediag:wined3d_adapter_gl_init You are using the backbuffer for offscreen rendering. This is unsupported, and will be removed in a future version. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:d3d:wined3d_adapter_find_polyoffset_scale No FBOs, assuming polyoffset scale of 2^23. 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x4245f604,0x00000000), stub! 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x4245f634,0x00000000), stub! 0009:fixme:win:EnumDisplayDevicesW ((null),0,0x4245dfd4,0x00000000), stub! 1134|SIGSEGV @0x62846850 (???) (x86pc=0x35800000/???:"???", esp=0x4245fb08), for accessing 0x35800000 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) 1134|SIGSEGV @0x62855204 (???) (x86pc=0x35800000/???:"???", esp=0x4245fb08), for accessing 0x35800000 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) 1134|Double SIGSEGV!
Mesa version is 20.3.0
can you do addr2line -e /usr/local/bin/box86 -a 0x62846850
?
Also, you can sudo apt install winbind
to avoid that 1st error message.
can you do
addr2line -e /usr/local/bin/box86 -a 0x62846850
?
0x62846850 :?
pi@raspberrypi:~ $ addr2line -e /usr/local/bin/box86 -a 0x62846850 0x62846850 :?
did you built box86 with debug symbol?
No, i will build it.
0x62846850 /home/pi/box86/src/elfs/elfload_dump.c:100
Well, maybe the address has changed now, the segfault is still on that one?
There are so many SIGSEGV. 3384|SIGSEGV @0x62844834 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x35800000 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x62852428 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x35800000 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 002e:err:ntdll:RtlpWaitForCriticalSection section 0x415fc9c0 "loader.c: loader_section" wait timed out in thread 002e, blocked by 0009, retrying (60 sec) 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! Warning, accessing segment NULL 3384|SIGSEGV @0x628748f0 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x14 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) Warning, accessing segment NULL 3384|Double SIGSEGV! Warning, accessing segment NULL 3384|Double SIGSEGV! 3384|SIGSEGV @0x628556cc (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0xe47 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! 3384|Double SIGSEGV! Warning, accessing segment unknown 0x570d or unset 3384|SIGSEGV @0x628748f0 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x14 (code=1), db=(nil)((nil):(nil)/(nil):(nil)/???) Warning, accessing segment unknown 0x570d or unset 3384|Double SIGSEGV! 3384|SIGSEGV @0x62856a9c (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3ff8 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fec (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fe0 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fd4 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fc8 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fbc (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fb0 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3fa4 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3f98 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3f8c (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) 3384|SIGSEGV @0x6288e638 (???) (x86pc=0x35800000/???:"???", esp=0x424cfb08), for accessing 0x7ffe3f80 (code=2), db=(nil)((nil):(nil)/(nil):(nil)/???) Segmentation fault
only the 1st segfault is important. Use 0x62844834
now on addr2line
0x6288e638 /home/pi/box86/src/libtools/signals.c:277 (discriminator 3) pi@raspberrypi:~/Warcraft3_1.24E $
OK.
pi@raspberrypi:~/Warcraft3_1.24E $ addr2line -e /usr/local/bin/box86 -a 0x62844834 0x62844834 /home/pi/box86/src/elfs/elfloader.c:989
0x62844834 is the first segmentation fault.
So it seems it tries to jump at address 0x35800000
but there is nothing there. Did it worked at some point? Does it work with Dynarec off?
dynarec is enabled. i will disable it.
0x6285457c /home/pi/box86/src/emu/x86run.c:1581 (discriminator 207)
dynarec is disabled now. 0x6285457c is first segfault.
So it's not working either, with the same kind of issue: not a dynarec specific bug
Can you fix it?
Not now. And I'm not sure I have a Warcraft copy. You didn't answered: did it work at some point?
it has not worked.
Ok, so it's something not yet handled correctly. Will try to check later.
I think it works fine now.
Can you confirm (or infirm) that and close the ticket if it's ok @pmtip .
@ptitSeb
Thank you for your brilliant work! I found a screenshot by you: https://pyra-handheld.com/boards/threads/box86-linux-userspace-x86-emulator.83577/post-1682916
You said you managed to run it on pandora console at around 1fps (which must operate on as little as 512 MB of ram). According to https://www.cnet.com/products/warcraft-iii-the-frozen-throne-pc/ warcraft iii must run with 128 MB of ram.
Did you use dynarec then? Did you use dynarec when posted https://github.com/ptitSeb/box86/issues/237#issuecomment-752990813 and what fps did you get?
I ask these questions in trying to understand what is the speed penalty with and without dynarec, given that pandora has enough ram to run the game.
Thank you.
Warcraft 3 should works fine now with box86 (with dynarec). I have tried it on miltiple platform.
I close the ticket, but feel free to re-open it if needed.
What should I do?