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

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

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

Post by Battler »

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: 290
Joined: Mon 21 Nov, 2016 6:23 pm

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

Post by szadycbr »

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...

Post by Battler »

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.
User avatar
SarahWalker
Site Admin
Posts: 1897
Joined: Thu 24 Apr, 2014 4:18 pm

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

Post by SarahWalker »

Fixed in rev 819.
Post Reply