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

Crash on startup #289

Closed
2 tasks done
AvocadoHole opened this issue Jul 26, 2022 · 19 comments
Closed
2 tasks done

Crash on startup #289

AvocadoHole opened this issue Jul 26, 2022 · 19 comments
Labels
bug Something isn't working

Comments

@AvocadoHole
Copy link

AvocadoHole commented Jul 26, 2022

The game crashes on startup as long as dinput8.dll is present in the Bin32 folder, but starts up normally if removed.

Game version: 1.0.6, Clean Steam install and integrity verified files with RE4HD 1.1 release applied

CrashDumps folder produces no files upon startup attempt.

Specs:
Intel i7-8750H
Nvidia GTX 1060 Max-Q
16 GB RAM

@AvocadoHole AvocadoHole added the bug Something isn't working label Jul 26, 2022
@nipkownix
Copy link
Owner

nipkownix commented Jul 26, 2022

Please create a folder called "CrashDumps" inside the bin32 folder, and try running the game again.
When it crashes, a zip will be created in that folder. Upload the zip here so we can take a look.
Also, please attach dinput8.log if you can.

@AvocadoHole
Copy link
Author

Dinput8.log is attached, but there's still nothing in the CrashDumps folder.

DINPUT8.log

@nipkownix
Copy link
Owner

nipkownix commented Jul 27, 2022

your game version is 1.0.6 when it should be 1.1.0

Not really. Some people who bought the game before update 1.1.0 was released still have 1.0.6. Capcom messed something up back then. "New" owners are guaranteed to receive 1.1.0, while others are stuck on 1.0.6, just like me.

There's nothing wrong with v1.0.6, though. No new features were added in v1.1.0, only minor changes and new languages.

@AvocadoHole

but there's still nothing in the CrashDumps folder.

Strange. Can you check if this build creates something inside CrashDumps?
dinput8.zip

@blank-teer
Copy link

blank-teer commented Jul 27, 2022

I can confirm the subject issue.
But I have a little different preconditions:

  • game ver is 1.1.0 (steam, purchased on this summer sale)
  • hdproject ver 1.1

Removing dinput8.dll lets the game start but the interface is messed up then.
Having dinput8.dll produces crashes (silent ones: neither popups nor black screen) with no files created in the Bin32/CrashDumps folder.

DINPUT8.log

@blank-teer
Copy link

@nipkownix with this build all the same

@nipkownix
Copy link
Owner

Hmm, I see.
Would appreciate some more info about your system, such as:

Windows version;
Language;
Keyboard layout;

I'm assuming it is crashing when the keymap is being generated, not sure why though.

@blank-teer
Copy link

blank-teer commented Jul 27, 2022

@nipkownix I fixed it!
You're right, the root cause is language. I have two ones on my system: English and Russian. Seems like the issue might be with any language if it isn't supported by the game natively.

So to fix you need to change the default keyboard input. In Win11 the toggle locates by (my translation):
Settings -> Time and language -> Input -> Additional keyboard parameters -> Redefinition of input method by default

I set it to English and the game started ideally!

@blank-teer
Copy link

blank-teer commented Jul 27, 2022

Oops, here we go again... All was fine until I tried to look at the crashed car after killing the first hostile locals. The game crashes when I press E.

Attaching dumps
bio4.exe.20220727072743.zip

@AvocadoHole
Copy link
Author

Strange. Can you check if this build creates something inside CrashDumps? dinput8.zip

Just attempted to relaunch and I'm still getting nothing. I'll see if it's language related as another user pointed out when I can.

@albertre4HD
Copy link

Hello! It seems Japanese keyboard is also suffering from the same problem.
You can read the comments from the user named Folico here:
https://www.re4hd.com/?page_id=9319

@Shevae9
Copy link

Shevae9 commented Jul 27, 2022

I have the same problem. I did not have any problems with the versions for testers. When I updated to version 1.1, the game did not start. I also did a clean install of version 1.1, that didn't work either.

@AvocadoHole
Copy link
Author

Changing the keyboard layout from serbian latin to US english allows the game to launch, and even to switch back when it has.

@Shevae9
Copy link

Shevae9 commented Jul 27, 2022

Changing the keyboard layout from serbian latin to US english allows the game to launch, and even to switch back when it has.

I was just trying this right now and it worked. It worked the same way when I changed it from Turkish keyboard to English keyboard.

@emoose
Copy link
Collaborator

emoose commented Jul 27, 2022

Hmm, my guess is the ToUnicode call inside get_str_from_VK is maybe not returning proper result for certain locales? Could be similar to the issue game itself had with key icons for certain locales, that involved ToUnicode too I think.

Maybe that's not returning a good result, leaving wchar_t chars[5] uninitialized, and then that gets passed to WstrToStr, which runs std::wctomb, and maybe causes an exception? (can't really find much about that using exceptions though...)

Maybe moving Init_ExceptionHandler somewhere earlier & testing with debug build might point us to where it's crashing.

@emoose
Copy link
Collaborator

emoose commented Jul 27, 2022

Oops, here we go again... All was fine until I tried to look at the crashed car after killing the first hostile locals. The game crashes when I press E.

Attaching dumps bio4.exe.20220727072743.zip

@blank-teer looks like that crash is happening with something animation related... maybe try verifying/redownloading if you can.

@nipkownix
Copy link
Owner

@blank-teer @AvocadoHole could you guys check if this build fixes the startup issues?
dinput8.zip

@albertre4HD I've been testing this one using JP language, so it should work fine there.

@emoose WstrToStr was crashing here:

if (ret < 0) throw std::invalid_argument("inconvertible wide characters in the current locale");

Welp, that's what I get for using some random code from the internet.

Maybe moving Init_ExceptionHandler somewhere earlier

Oh, I swear I thought Init_ExceptionHandler was in DllMain. Meh.

@AvocadoHole
Copy link
Author

@nipkownix
This one works for starting it up on my end.

@blank-teer
Copy link

@nipkownix
Works now, have tested it with default input settings with which got crashes previously.

@nipkownix
Copy link
Owner

Should be fixes as of the latest release.
Please let me know if anything weird pops up.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

6 participants