tmp64 / BugfixedHL-Rebased

Bugfixed and improved Half-Life
GNU General Public License v3.0
110 stars 22 forks source link

Crash when click on "View server info" on server list #46

Closed gundogfan closed 3 years ago

gundogfan commented 3 years ago

Not always, but sometimes the game crashes. I'll attach the crash logs.

crash-2021-05-11-12-48-43.zip

] version Protocol version 48 Exe version 1.1.2.1 (valve) Exe build: 16:05:41 Jun 15 2009 (4554)

] about BugfixedHL-Rebased Bugfixed and improved Half-Life Client Version: 1.6.0-beta2+master.f40c7e6 Engine: 1.1.2.1,48,4554

tmp64 commented 3 years ago

It looks like a problem with RevEmu.

  1. What client do you use?
  2. Were you connected to a server at the moment of crash?
  3. Does it only happen when viewing specific servers?
  4. Does it happen without BHL installed?
gundogfan commented 3 years ago
  1. revemu.zip
  2. I wasn't.
  3. Testing right now, it happened twice with the same server but I'm pretty sure it happened with other servers as well.
  4. Can't provide this info since I don't have the default client :/

I'm sorry I can't help with this one.

gundogfan commented 3 years ago

Update: it kept on happening with the same server, which is not located near my country so the ping is actually really high, that could be the reason. I'll close this one.

tmp64 commented 3 years ago

There may be a conflict between the client and RevEmu since the client links with SteamAPI library but expects a newer version of it. There have been reports of random crashes in Rev libraries that I couldn't reproduce and that only occur with BHL.

Here's an original client.dll from game version 4554. Please, test when you have a moment. client_dll_4554.zip

gundogfan commented 3 years ago

Tested with original client.dll. Didn't crash. I tried 30 times (right click, view server info) and it didn't crash. Whilst with BHL it'd crash in less than 10 times.

tmp64 commented 3 years ago

Here's a version of the client with SteamAPI disabled. Please, test if it crashes. client_no_steam_api.zip

gundogfan commented 3 years ago

It does crashes. In addition, I just noticed it also crashes when you "view server info" and the server appears as "not responding", but that also happens with default client.dll so no idea.

tmp64 commented 3 years ago

I've finally been able to reproduce the issue reliably.

The game crashes if you close server info dialog before server browser receives server information from SteamAPI. It happens with and without BHL.

When the dialog is closed, it sends a cancel request to SteamAPI but my guess is that Rev doesn't always handle them. Since the dialog is destroyed, once the response is received, it calls an invalid function and that leads to different crashes.

I'm going to close this as the bug is in RevEmu.

gundogfan commented 3 years ago

Understood, nothing to be done then. Good job anyway!