tmp64 / BugfixedHL-Rebased

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

Server version 1.10 weird critrcal error to desktop #195

Open stylez1989 opened 7 months ago

stylez1989 commented 7 months ago

We have been having this weird issue since half-life dropped their anniversary update, Using the server hl.dll and corresponding files even from the previous versions since the release of HLA people that don't use the buggedfixhl client regardless of if they are using legacy or HLA vanilla it will crash everyone to the desktop with no error that was in the server not using the buggedfixhl client.

I've witness this as well, what it would do is it will pretty much close your client and you will be back at the desktop with no error, tried using qconsole.log to see if it doesn't report anything, also looked at windows logs and didn't show anything.

Now, if you use the buggedfixhl client, you will still be in the server but everyone else that isn't on it will experience this bug. (as you see in the picture attachments)

Figure the 1.10 server one would fix this but i've already seen it happen once today. What is strange is, it will be random, it could be within 1 hour or 10 hours, different maps just random.

I've put in some (about 5 clients Running Vanilla HLA, Legacy, buggedfixhl) and the ones that would be at desktop would be legacy and vanilla, buggedfixhl still in the server, of course with no crash log, no qconsole log when calling for it, and no logs in the %USERPROFILE%\AppData\Local\CrashDumps Also members in my discord said it only happens on vanilla and legacy as well, but buggedfixhl client it goes away. Sure we could have everyone go download it but we have alot of new players come in and out daily

What i found out was removing the buggedfixhl server hl.dll to maybe AG one or vanilla and this goes away after some testing's, I know without any logs it's going to be difficult but it's definitely happening. Screenshots showing it timing everyone out that is on vanilla clients, while me and a few others that are using buggedfixhl client are still in the server.

We tested by removing all the plugins one by one, going back from ReHLDS to Vanilla HLDS, no changes. The only change we saw was changing the buggedfixhl hl.dll back to vanilla or AG hl.dll and it stopped. Would be nice if we figure this one out because we love the HTML MOTD

1 image

stylez1989 commented 7 months ago

Note: We been using the server buggedhl files for a long time, all of this started right after the 25th anniversary.

stylez1989 commented 7 months ago

I will update this if i see any reports of it happening, Only saw it once today but that was early this morning. So far no issues, I will report back

tmp64 commented 7 months ago

Did I understand correctly? Do you know if Linux players are affected?

stylez1989 commented 7 months ago

Yes that is correct!

That one I'm unsure, majority of players are on windows.

Also I'm running HLDS with windows server 2019, I run all my servers at my location so none are rental servers

tmp64 commented 7 months ago

Try to record the crash on one of the clients. Follow this guide to make both mini-dump and full dump when the game crashes. Upload the mini dump here. Save the full dump somewhere on your computer in case the mini-dump is not enough.

Do not upload the full dump here. It's a complete dump of the game's memory and it may contain personal info from Steam.

stylez1989 commented 7 months ago

Okay tomorrow I will follow this guide and add them to all my vms client and wait for the crash

If you need to check anything out, my server came be found here

http://gamers-global.gameme.com/valve hl.gamers-global.com:27015

stylez1989 commented 7 months ago

Okay, I have it loaded now and is capturing the data, Once it crashes I will upload the mini dump here

stylez1989 commented 7 months ago

image

I don't think this is related but checked the vm which was crashed at this state but not the typical crash to desktop. I'll get a minidump on this just in case and rerun it.

tmp64 commented 7 months ago

It probably didn't crash to desktop because the debugger caught the exception. Upload the mini-dump here and tell me the version of the game

stylez1989 commented 7 months ago

image

image

When i create the dump, it will say it wrote the C:/CrashDump.cab but it isn't there. Any thoughts? I will leave it on that crash point for any other commands you need me to type. Note: I have hidden files and folders on file explorer off so I can see the invisible files just incase

The version of the game was the vanilla 25th half-life client

The-Gmann commented 7 months ago

сб, 9 дек. 2023 г., 05:31 tmp64 @.***>:

  • After HL25 update, people that use vanilla HL25 or legacy_steam client.dll crash all at the same time.
  • BHL clients don't crash.
  • If you replace the server's BHL hl.dll with the vanilla or AG one, crashes stop.
  • Crashes happen randomly after running the server for several hours.

Did I understand correctly? Do you know if Linux players are affected?

— Reply to this email directly, view it on GitHub https://github.com/tmp64/BugfixedHL-Rebased/issues/195#issuecomment-1848096336, or unsubscribe https://github.com/notifications/unsubscribe-auth/AOHQKUOH5IP3YHYJG24C4RLYIPEOPAVCNFSM6AAAAABAMZEPUGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNBYGA4TMMZTGY . You are receiving this because you are subscribed to this thread.Message ID: @.***>

tmp64 commented 7 months ago

Windows may prevent you from writing to C:/. Try something like C:/Users/<your username>/Desktop/CrashDump.cab

stylez1989 commented 7 months ago

crashdump.zip

here is the mini crashdump

tmp64 commented 7 months ago

The crash is caused by a HUD text message with lines longer than 79 characters. The bug has always been in the game but recent compiler update added checks to catch this kind of bugs. It was fixed in BHL a long time ago.

stylez1989 commented 7 months ago

Does that mean something you will be able to fix?

tmp64 commented 7 months ago

No, but it can be worked around on the server side (either in AMXX itself or the plugins) by limiting each line of text to 79 bytes.

tmp64 commented 7 months ago

AMXX's show_hudmessage will actually automatically split lines that are too long: https://github.com/alliedmodders/amxmodx/blob/27f451a868c3154a0ab0d4d70e0a650074fd485d/amxmodx/util.cpp#L148-L183

Some plugin must be sending the HudText message directly

Edit: It may also be caused by a map that uses the game_text entity
Edit 2: Or by entities that call UTIL_ShowMessage or UTIL_HudMessage

stylez1989 commented 7 months ago

You are awesome on figuring this out! I assume you are going to add those line splitting text checks on the next build

tmp64 commented 6 months ago

I added text splitting to the latest release (v1.10.1). See if it helps with the crashes.

stylez1989 commented 6 months ago

Amazing!

I will get this loaded in tonight and run a debug on one of my clients to make sure it's completely gone! Thank you so much!

stylez1989 commented 6 months ago

I added text splitting to the latest release (v1.10.1). See if it helps with the crashes.

So, I have the newest 1.10.1 on the server and was reported that people were kicked out early this morning, Since I had the client running in the background it was kicked which as well processed the dump. This only affected people with the vanilla client or legacy client, buggedfixhl clients remain in server. image image

Crashdump.zip

tmp64 commented 6 months ago

I made a custom build that will print an error in the console whenever a long message is received. You can get it here.

It'll look like this:
image