Quantcast
Channel: PCSX-Reloaded
Viewing all articles
Browse latest Browse all 2368

Commented Unassigned: Assertion failure in ix86-64.c with Linux >=4.1.0 [12230]

$
0
0
On x86-64 when running under Linux kernel 4.1.0 or later, pcsxr crashes on startup with an assertion failure in ix86-64.c, e.g.

```
$ pcsxr -nogui -cdfile ROMs/Xenogears/Xenogears\ \(disc\ 1\).bin
pcsxr: ../libpcsxcore/ix86_64/ix86-64.c:160: MEMADDR_OP: Assertion `!isreg || reg != 0' failed.

```

A window appears briefly but never shows anything but a black fill.

This has been reported to Debian twice:

* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=795196
* https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=798755

so I believe the problem is game-independent. I don't see anything in ix86-64.c that is *obviously* kernel-dependent -- it's a JIT back-end for the CPU emulator, isn't it? -- and there isn't anything obviously wrong in a strace log (attached), either.
Comments: ** Comment from web user: ckain **

Hmm, ok, interesting. So if there would be a way to specify memory layout so that psxRegs would end up always within 32bit address space, then it would fix it.

However there's other issues that I see here. Dynarec core is implemented in a way that some game have bugs with that. Memory timings are not accurate there f.e. Then I feel it would be more simple to use interpreter core as default which is more compatible. If one has x86-64 CPU I am quite sure it is also powerful enough to run interpreter version.

So easiest and best fix would be actually setting interpreter core as default CPU, and adding some notifications for the problems involved with dynarec core.


Viewing all articles
Browse latest Browse all 2368

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>