On Thu, Feb 1, 2018 at 7:39 PM, mikhail <mikhail.v.gavrilov at gmail.com> wrote: > On Thu, 2018-02-01 at 18:34 +0100, Marek Olšák wrote: >> On Thu, Feb 1, 2018 at 5:27 PM, mikhail <mikhail.v.gavrilov at gmail.com >> > wrote: >> > On Tue, 2018-01-30 at 22:38 +0100, Marek Olšák wrote: >> > > On Tue, Jan 30, 2018 at 10:36 PM, Marek Olšák <maraeo at gmail.com> >> > > wrote: >> > > > On Tue, Jan 30, 2018 at 10:04 PM, mikhail <mikhail.v.gavrilov at g >> > > > mail >> > > > .com> wrote: >> > > > > On Tue, 2018-01-30 at 20:12 +0100, Marek Olšák wrote: >> > > > > > Can you record an apitrace on a driver that is not >> > > > > > radeonsi? >> > > > > >> > > > > All traces from five listed games was recorded on Intel GPU >> > > > > (not >> > > > > radeonsi). >> > > > > I also understood why for some games traces was not recorded >> > > > > yesterday. >> > > > > It happens because such games are 32 bit and for correct >> > > > > working >> > > > > apitrace was needed apitrace-libs-7.1-7.fc27.i686 package, >> > > > > but >> > > > > only >> > > > > apitrace-libs-7.1-7.fc27.x86_64 was installed. >> > > > > >> > > > > > If yes, can you correctly replay the apitrace on a driver >> > > > > > that >> > > > > > is not >> > > > > > radeonsi? >> > > > > >> > > > > All traces was correctly replayed on Intel GPU (not >> > > > > radeonsi). >> > > > > >> > > > > > If yes, can you reproduce the crash if you replay the >> > > > > > apitrace >> > > > > > on >> > > > > > radeonsi? >> > > > > >> > > > > All traces also was correctly replayed on AMD Vega 56 GPU >> > > > > (radeonsi) >> > > > > without crashes. >> > > > > >> > > > > What does this give us? >> > > > > >> > > > > Anyway launching listed games under AMD Vega 56 GPU lead to >> > > > > new >> > > > > crases. >> > > > >> > > > Thanks. It's possible that Unity contains its own version of >> > > > LLVM >> > > > or >> > > > its own version of some standard libraries that LLVM uses, and >> > > > radeonsi doesn't like when games replace its dependencies. >> > > >> > > It's also possible that some symbols exported by Unity clash with >> > > those exported by LLVM. >> > > >> > > Marek >> > > >> > >> > I am created thread in Unity forum with describeb issue and link to >> > this thread: >> > https://forum.unity.com/threads/all-games-maded-with-unity-engine-c >> > rash >> > es-on-amd-gpu-but-worked-on-intel-gpu-on-same-machine.515193/#post- >> > 3376 >> > 548 >> > >> > And got answer from Tak: >> > This looks like a driver crash in free/delete after >> > mesa_glsl_link_shader. >> > I don't believe that Unity is duplicating these symbols (as >> > concluded >> > in the freedesktop thread) - as far as I can tell, this is all in >> > the >> > radeonsi driver. >> >> If it was a Mesa issue, apitrace would reproduce it. It's a crash in >> free(), which means something is wrong with the heap. There is no >> evidence that Mesa corrupted the heap. The heap might have been >> corrupted outside of Mesa. >> >> Can you run one of the games under valgrind? >> > > Yes, and under valgrind games was launched without crashes O_o. > They work very slowly, but still work! > > I attached valgrind log here. Valgrind doesn't show any memory-related issue with Mesa. It does show an issue with "New Unity Project". This can corrupt the heap and cause a random crash on the next call of malloc/free/new/delete: ==17721== Mismatched free() / delete / delete [] ==17721== at 0x4C311E8: operator delete(void*) (vg_replace_malloc.c:576) ==17721== by 0xD4482C: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0xD315D8: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4FD79A: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x7E6350: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x8197CC: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4608A1: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x5D7B009: (below main) (libc-start.c:308) ==17721== Address 0x1f6bf470 is 0 bytes inside a block of size 220 alloc'd ==17721== at 0x4C308B7: operator new[](unsigned long) (vg_replace_malloc.c:423) ==17721== by 0xD47CF3: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0xD3EF39: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4FD712: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x7E2B8D: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x818B52: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4603F1: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x5D7B009: (below main) (libc-start.c:308) ==17721== ==17721== Mismatched free() / delete / delete [] ==17721== at 0x4C311E8: operator delete(void*) (vg_replace_malloc.c:576) ==17721== by 0xD44843: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0xD315D8: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4FD79A: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x7E6350: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x8197CC: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4608A1: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x5D7B009: (below main) (libc-start.c:308) ==17721== Address 0x1f6bf590 is 0 bytes inside a block of size 220 alloc'd ==17721== at 0x4C308B7: operator new[](unsigned long) (vg_replace_malloc.c:423) ==17721== by 0xD47ED7: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0xD3EF39: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4FD712: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x7E2B8D: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x818B52: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x4603F1: ??? (in /home/mikhail/New Unity Project/aaa.x86_64) ==17721== by 0x5D7B009: (below main) (libc-start.c:308) Marek