[Bug] Windows XP Setup segmentation faults the emulator...

Discussion of development and patch submission.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

[Bug] Windows XP Setup segmentation faults the emulator...

Postby Battler » Thu 27 Jul, 2017 5:24 pm

Basically, it boots fine from the CD, loads all the drivers, then goes to black screen + blinking cursor to load the next stage, and then segmentation fault. I tried to gdb it, and it segmentation faults at address 0x00000000, and I couldn't even backtrace - gdb said the stack was corrupted. This happens only on the recompiler, if I disable the recompiler by manually editing the configuration file, the problem goes away. It also only happens starting with the commit that reorganized REP.
szadycbr
Posts: 185
Joined: Mon 21 Nov, 2016 6:23 pm

Re: [Bug] Windows XP Setup segmentation faults the emulator...

Postby szadycbr » Thu 27 Jul, 2017 6:16 pm

unfortunately same problem here, many crashes.
Battler
Posts: 793
Joined: Sun 06 Jul, 2014 7:05 pm

Re: [Bug] Windows XP Setup segmentation faults the emulator...

Postby Battler » Thu 27 Jul, 2017 11:08 pm

It turns out this is caused by a mistake of Sarah's. In both codegen_x86.c and codegen_x86-64.c, this:

Code: Select all

if ((op_table == x86_opcodes_REPNE || op_table == x86_opcodes_REPE) && !op_table[opcode | op_32])

Should be changed to this:

Code: Select all

if ((op_table == x86_dynarec_opcodes_REPNE || op_table == x86_dynarec_opcodes_REPE) && !op_table[opcode | op_32])

Then the code will behave correctly, and XP will no longer segmentation fault the emulator.
SarahWalker
Site Admin
Posts: 1327
Joined: Thu 24 Apr, 2014 4:18 pm

Re: [Bug] Windows XP Setup segmentation faults the emulator...

Postby SarahWalker » Fri 28 Jul, 2017 7:45 pm

Fixed in rev 819.

Return to “Development”

Who is online

Users browsing this forum: No registered users and 4 guests