UCC2 - (Log enhancements and crash fix)

UCC2 - (Log enhancements and crash fix)

Postby Higor » Sat Dec 05, 2015 7:04 am

UCC2 rebuilt by Higor
(build 2)

This is a simple UCC.exe recompilation that alters the FOutputDevice in charge of logging to file.

Changes from default UCC:
- Ability to recognize multiple iterations of the same line or line patterns, groups them without writing each instance.
- Overflow fix (Max Length = 1024 + header, ex: ScriptLog), line is clamped instead of crashing the server.
- Thread safe GMalloc operations
- Thread safe GLog operations
- Possible GMalloc crashfixes with bad dynamic array handling > FArray::Realloc(0*X)



You may rename this UCC.exe and run it without replacing the original UCC.
Source code included in package, taken from UT Public v432 headers.

UCC2_2.7z
build 2
(36.6 KiB) Downloaded 67 times

UCC2.7z
build 1
(33.76 KiB) Downloaded 73 times



=======================
Example of overflow protection + single line spam reduction:
...
ScriptLog: 2815: ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucctestlevel.DeathMatchPlus0 OverflowTest ucctestlevel.UCCTest0 ucctestlevel.LevelInfo0 ucc
XC_UCC: Last line repeats 5 times.
...


Example of multi line spam reduction (up to 12 are recognized)
...
ScriptLog: RepeatTest A
ScriptLog: RepeatTest B
ScriptLog: RepeatTest C
ScriptLog: RepeatTest D
XC_UCC: Last 4 lines repeat 2 times
...
Last edited by Higor on Fri Jan 08, 2016 6:50 pm, edited 2 times in total.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby Chamberly » Sat Dec 05, 2015 7:06 am

This is great! Thanks!
Image
Image
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript
Image
User avatar
Chamberly
Godlike
 
Posts: 1602
Joined: Sat Sep 17, 2011 4:32 pm
Location: TN, USA
Personal rank: Dame. Vandora

Re: UCC2 - (Log enhancements and crash fix)

Postby Higor » Sat Dec 05, 2015 5:10 pm

I just wonder how this got past under everyone's noses for so much time.
UCC.exe (and every engine launcher) spawn their own Logger, Memory allocator, Error handler and File manager for the engine to use.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby Chamberly » Sat Dec 05, 2015 6:27 pm

I think the forum isn't picking this up or something, it's not displaying as active topic or on the recent topic... O.o
Image
Image
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript
Image
User avatar
Chamberly
Godlike
 
Posts: 1602
Joined: Sat Sep 17, 2011 4:32 pm
Location: TN, USA
Personal rank: Dame. Vandora

Re: UCC2 - (Log enhancements and crash fix)

Postby sektor2111 » Sat Dec 05, 2015 9:52 pm

Higor wrote:I just wonder how this got past under everyone's noses for so much time.
UCC.exe (and every engine launcher) spawn their own Logger, Memory allocator, Error handler and File manager for the engine to use.
It passed... ignored. All the time I found topics in forums debating sort of useless things and I got bored even to bump such nothings.

UCC like I said was stucking servers using UnrealI creatures and derivates even in Non MonsterHunt games. Executable (any shortly called UT.exe) did another sort of trash, no stuck but still crash. Engine crash anyway with a mountain of errors. A better launcher to prevent a frozen server is a good thing after all. I have already installed this and it runs for a couple of hours pretty solid with no issue + XCGE v16, XC_Corev3, XC_IpDrv, Custom CTF, DM, Custom creatures.

I'm using a batch firing "start" command with a few parameters - nothing evilized to report. Perhaps tomorrow I'll put up a MH/MH2.

Aside :mrgreen: , I was wondering when you'll step into UCC at least for a check and some "unknown" tricks that can be done with this UCC, examples of commandlets, ect. Next check might go at UWeb and maybe for XCGE a nice Log for reporting messed up things from a Level (duplicate actors, bad values - letter vs numbers, corrupted Path-Net, Pickups bad set which mess up replacements, ect.).
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: UCC2 - (Log enhancements and crash fix)

Postby Higor » Sun Dec 06, 2015 10:14 pm

We got front page! Ty Dr.Flay :tongue:

Any more things to be added...
Thread safe memory allocator? It's possible to make it platform independant by using two 'FMalloc' objects (one locks the thread, other allocates).
That way it'd be possible to have multithreaded natives use TArrays and etc...

Also gotta find out how messages are being printed to UCC's window, that way I can also filter messages there.
The game's timing is affected by Engine.ServerCommandlet and not UCC so that'd be something I have to implement in XC_Core (and a proper timing fix, alternative to XC_Engine).
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby Dr.Flay » Sun Dec 20, 2015 7:12 am

Can you add a feature that Unreal and UT2004 have ? "DumpInt"
ucc.png

It is handy to make a raw int file to work with.
User avatar
Dr.Flay
Site Staff
 
Posts: 3063
Joined: Thu Aug 04, 2011 9:26 pm
Location: Kernow, UK
Personal rank: Chaos Evangelist

Re: UCC2 - (Log enhancements and crash fix)

Postby Higor » Sun Dec 20, 2015 7:30 am

That'll have to go in XC_Core.
Commandlets don't reside in UCC.exe (unless you do ugly stuff) but instead in the game packages.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby sektor2111 » Fri Jan 01, 2016 12:11 am

Sloping a bit:
HAPPY NEW YEAR !

I have more serious problems to debate than INT files at this moment.

Returning to chapter stupid UCC lock downs - I have voted in purpose LiandriInvasionV2 with awesome XidiaMPack's freaky weapon-holders.
No response from server, game has been lost. Nothing shown like a server-address in any Lan Tab or such. Well, if stuff is such brilliant I would like an actor/object trouble maker removed even with the price of a crash/restart normally itself rather than a completely frozen crap.

Last image shown by me was with "S.W.A.T. agents" in water but no intention for swimming - Red Flag and Good Night.
This kind of loop boosting CPU usage cannot be notified somehow in order to fire a critical event ? A test thread like an attempt to ping server in purpose to gain a response ?

Let me introduce what I was figuring last time. When a state goes rammed triggering another state which returns pawn back in previous state cycling like this you might get a presumed server running but is not really too responsive, boosting a hard process. Looks like there is nothing to spy "Infinite State Changes Loop" and to properly crash rather than developing a loop running an useless server at maximum CPU usage. I might be on a wrong road but I was almost to recreate such a loop freezing with 0 response - the only master for this situation was task manager.

In XidiaMPack looks like some pawn simply fires a state change from state A to state B which drops it back to state A and moved again to B and this seems to loop insanely wasting all UT's CPU cycles. If we don't get a solution for such cases this means that I have to decompile (again) that package and to do a long work around for figuring issue and some months of testing resulting finally in another MISMATCH. Or probably fixing if I'm thinking better won't be a nasty challenge as long I have already 2 weapon-holders a la XidiaMPack which I can drop there as basement as long as my pawns never stuck games and are able to use even default Redeemer which is not friend with default Skaarj + have some features to get a weapon with any matter ignoring bullshit default replacement + won't drop weapon invisible in On-Line games + won't be blabbering PlayerReplicationInfo a la Skaarj.

EDIT
:
Running a server using primitive dynamic mesh THIS ucc got mad. It DOES NOT happening using UnrealTournament.exe file for firing server. However, I like new dynamic mesh - I think I'll get rid of UCC from my run-lines as long as it has started to piss me off.
This belongs to UCC
PrimitiveMesh_Err_UCC.PNG

A traditional server stuck UCC based, and the way how allocates memory this sort of "Compiler-Only".
It cannot sustain a Master-Server and neither a Game-Server.
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: UCC2 - (Log enhancements and crash fix)

Postby Chamberly » Fri Jan 08, 2016 10:53 am

Normally we use the normal char for map names.

Until someone decided to use special char... so I thought I'd give this a try. lel.
Image
Image
Image
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript
Image
User avatar
Chamberly
Godlike
 
Posts: 1602
Joined: Sat Sep 17, 2011 4:32 pm
Location: TN, USA
Personal rank: Dame. Vandora

Re: UCC2 - (Log enhancements and crash fix)

Postby Higor » Fri Jan 08, 2016 6:40 pm

Build 2 update.

Added thread safe GMalloc and GLog operations via proxies.
GMalloc proxy will use a 'Free' operation when 'Realloc' call has 0 size, should fix bad dynamic arrays (please test).
Rare log crash when printing a \0 char should no longer occur.

EDIT:
Bah, the program still says version 1 internally.
Whatever
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby sektor2111 » Fri Jan 08, 2016 9:32 pm

Chamberly wrote:Normally we use the normal char for map names.
Perfectly agree, but exist people which were not taking their pills.
According to these "Feign-Cool" issues type of people I think you can rename map correctly by getting rid of crap.

Note: Nobody told to that MH mapper guy uploading trash at MapRaider to forget SPACE in file-names used ? All there commenting are chickens or what ? Please anyone give him a manual with Operating PC basics including to those which weren't speaking louder. They need some MS-DOS classes before to bring them in front of Win3.1.
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Re: UCC2 - (Log enhancements and crash fix)

Postby Higor » Fri Jan 08, 2016 10:41 pm

MS-Dos takes ANSI characters as input, therefore these special chars may not be possible to add.
It's a different story if you let XC_Engine's autocompressor thread do it.
Technically XC_Engine passes the filename using Window's Unicode characters so if server does compressing and client does decompressin, then it's possible to do.
Higor
Godlike
 
Posts: 1608
Joined: Sun Mar 04, 2012 6:47 pm

Re: UCC2 - (Log enhancements and crash fix)

Postby Chamberly » Sat Jan 09, 2016 12:24 am

Don't forget about linux's battle on spec char.

Tbh, all I would have to do is rename the map and it's all set.

About MapRaider, I haven't been over there for awhile.
Image
Image
irc.globalgamers.net #uscript
http://irc.lc/globalgamers/uscript
Image
User avatar
Chamberly
Godlike
 
Posts: 1602
Joined: Sat Sep 17, 2011 4:32 pm
Location: TN, USA
Personal rank: Dame. Vandora

Re: UCC2 - (Log enhancements and crash fix)

Postby sektor2111 » Sat Jan 09, 2016 4:47 pm

Gonna extend tests outside of coding machine as long as it do seems more stable right now. I'll see more results after loading a MH2 server with PrimitiveMesh stuff. Also I have made some code optimization (eg: count monsters only if Tick-Rate is almost at value configured 28ticks/30ticks, don't count monsters if party is too hot 24ticks/30ticks or lower).
User avatar
sektor2111
Godlike
 
Posts: 3364
Joined: Sun May 09, 2010 6:15 pm
Location: vect(1,1,1)

Next

Return to Discussions

Who is online

Users browsing this forum: No registered users and 1 guest