Author Topic: Client crashing testing  (Read 4805 times)

0 Members and 1 Guest are viewing this topic.

Offline OMGBurgersTopic starter

  • Hero Member
  • *
  • Posts: 800
  • Activity:
    0%
  • Reputation Power: 7
  • OMGBurgers has no influence.
  • Respect: +44
  • Referrals: 0
    • View Profile
Re: Client crashing testing
« Reply #15 on: May 16, 2021, 10:50:24 PM »
0
I include easyuo as a potential problem point because it is a bit shoddy software lol.  But it's out of my ability to determine the culprit.

I have been using easyuo since 03 according to my easyuo account age and have never experienced uo and easyuo working together being such a delicate operation haha, and I've wrote some pretty bogus trash scripts along the way 😂

Offline OMGBurgersTopic starter

  • Hero Member
  • *
  • Posts: 800
  • Activity:
    0%
  • Reputation Power: 7
  • OMGBurgers has no influence.
  • Respect: +44
  • Referrals: 0
    • View Profile
Re: Client crashing testing
« Reply #16 on: May 17, 2021, 05:33:07 PM »
0
So I did some more testing today, but i'm getting bored of it, so maybe i'll mess with it more one day.  Here are my findings thus far.

Only certain events/exevents in succession will cause a crash.  The amount can be as little as two in a row, but the order matters.
Those events I have found are:
Event exmsg
Event sysmessage
Event pathfind
Speech commands (Event macro 1 0, Event macro 2 0, Event macro 3 0, Event macro 4 0)

The instability and crashing will occur only with certain combinations/orders and positions of a delay.  I have examples below, red for crash causing, green for stable.
event macro 3 0 test, event pathfind #charposx #charposy, wait 1
event pathfind #charposx #charposy, event macro 3 0 test, wait 1
event macro 1 0 test, event sysmessage test, wait 1
event sysmessage test, event macro 1 0 test, wait 1
You can see above a slight pattern, and i'm sure that pattern would be even more clear if additional testing was done on every event/exevent, but that's too time consuming.
You can also see a wait is not needed after every event/exevent, but even just as small as a "wait 1" is required for some to prevent crashing.  You can see this shown with 6 events in a row in an example at the bottom, with no delay between any actions, only one at the end to prevent "You must wait to perform another action".

I have found, in my testing, that the above is not worsened/improved based on connection speed to the uo server.  I have done testing with ping at 8-16ms (I live in state of the local uo server), testing on sakura (~160 ping), and testing with my vpn connected to Istanbul Turkey (~270 ping) and results are the same.

The same results happened at a connection lost.  What I mean by this is logging in, disconnecting internet to bring the connection lost gump (you are now disconnected from the server).
The client will still crash if you do:
Code: [Select]
event macro 3 0 test
event sysmessage test
wait 1
But it will not crash when doing:
Code: [Select]
event sysmessage test
event macro 3 0 test
wait 1

Okay, now another example.  With just 2 events in a certain order, we can cause a crash.  But we can perform 6 in a row perfectly stable, even though one of them is a speech command, which was causing crashing with the other 3 events above.  The following is stable ( I stopped at a bit over 400 cycles):
Code: [Select]
set #lpc 1000
while A <> B
{
event macro 3 0 3
event macro 8 7
event macro 8 2
event macro 5 0
event macro 9 7
event macro 9 2
event sysmessage test
wait 22
}

Offline TrailMyx

  • Officially retired from UO
  • Administrator
  • *
  • *
  • Posts: 13302
  • Activity:
    0.2%
  • Reputation Power: 154
  • TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!TrailMyx is awe-inspiring!
  • Gender: Male
  • Viper!
  • Respect: +1349
  • Referrals: 33
    • View Profile
    • ScriptUO
Re: Client crashing testing
« Reply #17 on: May 18, 2021, 07:11:40 AM »
0
The corpse opening crashing has been a "thing" since they added instanced corpses.  I always got around this by adding a small delay between the death of a critter and the opening of the corpse.  When I was analyzing it, if you get to the corpse really fast (bumped #LPC) you could catch the corpse #FINDID value change in progress.  But this happens fairly quickly and is affected by lag and connection quality.
« Last Edit: May 18, 2021, 09:41:17 AM by TrailMyx »
Please read the ScriptUO site RULES
Come play RIFT with me!

Tags: