[469b] Update on Orion's Curse and ChaosUT KOTH map crashes

Discussions about UT99
User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

[469b] Update on Orion's Curse and ChaosUT KOTH map crashes

Post by TankBeef » Thu Jun 03, 2021 12:23 am

Ok, in case some of you have been following my github bug reports, here are two recent updates:
1-The cause of the AS-FoT-OrionsCursePart1 crash has been found. It is scheduled to be fixed for the next patch. For more info, this is the link to the report: https://github.com/OldUnreal/UnrealTour ... issues/230
2-A similar crash bug has been confirmed for at least two maps from the ChaosUT Beta4mappack: koth_barfly and koth_temple. Link to report here: https://github.com/OldUnreal/UnrealTour ... issues/422
I will say this. I have no crash issues with most of the maps under 469b. Some people don't like the patch, well...I do, I enjoy it a lot. The game feels much smoother, at least to me. If you are having issues, do report them, they will do their best to fix them. Just as an example, 469a had DM-Coke][ crashing with HD textures, I reported it, and on 469b it got fixed, runs even better now.

User avatar
Feralidragon
Godlike
Posts: 5315
Joined: Wed Feb 27, 2008 6:24 pm
Personal rank: Work In Progress
Location: Liandri

Re: [469b] Update on Orion's Curse and ChaosUT KOTH map crashes

Post by Feralidragon » Thu Jun 03, 2021 2:26 am

This bug in particular that you mentioned is a great example of a problem not caused by devs breaking something themselves, but simply over the fact that compiling the game using a modern compiler may lead to such unforeseen issues, which are completely impossible to predict from the start.

The fact that the game can be compiled at all nowadays using modern compilers is nothing short of a miracle, considering how the game is over 20 years old.
So problems like this are bound to happen, and more bugs around the same type of thing will likely continue to pop up, and they will just need to be fixed, one by one.

User avatar
TankBeef
Skilled
Posts: 163
Joined: Tue Apr 13, 2021 12:56 am

Re: [469b] Update on Orion's Curse and ChaosUT KOTH map crashes

Post by TankBeef » Thu Jun 03, 2021 2:48 pm

Ok, the KOTH bug is also getting fixed in the next patch. Awesome!!! :D

Eternity
Average
Posts: 61
Joined: Sat Nov 30, 2019 10:56 pm

Re: [469b] Update on Orion's Curse and ChaosUT KOTH map crashes

Post by Eternity » Fri Jun 04, 2021 9:51 am

This is very important information for everyone dealing with UnrealScript and should be kept in mind when writing/debugging/checking/fixing the scripts that switch between different States.

Experiments with the test case described by Anth show that particular changes in this script may occasionally produce at least 4 different results:
1. Result differs from the one normally expected (example is below).
2. Handled error and exit with StaticShutdownAfterError.
3. Application crash.
4. Main thread of the process hangs in infinite loop.

The result is completely unpredictable, unless you have perfect understanding of what is happening at the native part, or have explored the behavior of this bug empirically.

Code: Select all

class UTStateTestA extends Actor;

var String S;

function LogX(String Msg)
{
	if (Msg!="")
		S=S @ Msg;
	else
		Log(S);
}

auto State StateA
{
	function bool DoChange()
	{
		LogX("0");
		GoToState('StateB');
		return False;
	}

Begin:
	if (DoChange())
	{
		LogX("?");
	}
}

State StateB
{
Begin:
	LogX("1");
	LogX("2");
	LogX("3");
	LogX("4");
	LogX("5");
	LogX("6");
	LogX("7");
	LogX("8");
	LogX("");
}
The log output of this script shows that execution of the 'StateB' begins from the 3-rd line:

Code: Select all

 0 3 4 5 6 7 8
Any changes added into the 'StateA' after the 'Begin' label may cause either the start of the 'StateB' execution from any another line, or may cause the error/crash or the hang.

This bug with the States definitely is one of the most significant bug discoveries for all the time of v469 development. Big thanks to developers for this discovery and information, and for fixing this bug. :gj: