Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPCS3 crashes at startup (win 7) #10271

Closed
Teriand opened this issue May 12, 2021 · 9 comments
Closed

RPCS3 crashes at startup (win 7) #10271

Teriand opened this issue May 12, 2021 · 9 comments

Comments

@Teriand
Copy link

Teriand commented May 12, 2021

Continue #10243 for win7

---------------------------
RPCS3: Fatal Error
---------------------------
			<p style="white-space: nowrap;">
				<p>Unhandled Win32 exception 0xC0000005.<br>
Segfault writing location 0000000000000000 at 000007fefcf7c4d2.<br>
Thread: Main Thread.<br>
Instruction address: 000007fefcf7c4d2.<br>
Function address: 000007fefcf7c410 (base+0xc410).<br>
Module name: 'KERNELBASE.dll'.<br>
Module base: 000007fefcf70000.<br>
RPCS3 image base: 0000000000010000.</p>
<p>Thread id = 22568.</p><br>

Test on latest 12240
OS win7+all updates
all NTFS disk

@Nekotekina Nekotekina self-assigned this May 12, 2021
@Nekotekina
Copy link
Member

I'll check what can be done to workaround it. I think it's win 7 bug with memory mapping big sparse files, but can't say for sure.

@Mondongod
Copy link

I'm having this EXACT same problem. Old version works fine (at least it opens) but with the last one I get this same error.

@Nekotekina
Copy link
Member

Backtrace could be helpful, can't tell where it's coming from.

@JohnsterID
Copy link

Does the below help?

rpcs3!hid_write_control+3f3dae

@Nekotekina
Copy link
Member

Reported fixed, feel free to reopen if the issue is not fixed.

@Kradziej
Copy link

I still have this problem on windows 7
Built and debugged a little and it looks like DeviceIoControl is incorrectly called with lpBytesReturned set to null

if ((info0.FileAttributes & FILE_ATTRIBUTE_SPARSE_FILE) || DeviceIoControl(h, FSCTL_SET_SPARSE, &arg, sizeof(arg), nullptr, 0, nullptr, nullptr))

passing variable fix issue for me but I dont understand how it works for anyone because per DeviceIoControl docs:

If lpOverlapped is NULL, lpBytesReturned cannot be NULL. Even when an operation returns no output data and lpOutBuffer is NULL, DeviceIoControl makes use of lpBytesReturned. After such an operation, the value of lpBytesReturned is meaningless.

and that's why we get null pointer exception
I guess win 10 don't care about documentation

@MSuih
Copy link
Member

MSuih commented Oct 19, 2021

@Nekotekina can you look into that?

Edit: Seems like elad was faster with #11029

@MSuih MSuih reopened this Oct 19, 2021
@MSuih
Copy link
Member

MSuih commented Oct 19, 2021

Should be resolved with #11029

@MSuih MSuih closed this as completed Oct 19, 2021
@Kradziej
Copy link

I don't think we need to force abnormal termination of rpcs3 on windows 7 now or is this related to different bug? Sparse file is created just fine without restart.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

7 participants