Archive for the 'Mono' Category

Mono servers causing severe delays in old LSL scripts

bug-banner 

I’ve complained about the symptoms, but now we may know the cause.  Thanks to some sleuthing by Makkiavelli Toland and my own experiences in trying to create a halfway decent workaround, it seems extremely likely that the cause is in the state_exit event being delayed.

Tip of the samurai helmet to Escort DeFarge, who notified me that there is a JIRA issue already on file for this: SVC-2958.  Please go vote, and make your voices heard!  We need Linden Lab to address this issue.

If history is any indication, it will take Linden Lab some time to acknowledge, research, and distribute a fix for this, so I will continue working on a workaround, and will distribute it as soon as testing is complete.  I’d rather have them do it right than distribute another batch of bugs :)

Also, remember that Archanox is working on a long-term plan to move the C:SI scripts to Mono, and will almost certainly do a better job of getting things working than my hackish workarounds, and I’ll share anything I discover with him. 

I am relieved.  Time for a nap :)

[UPDATE]

Periapse Linden commented on SVC-2958:

Babbage has checked in a fix for this. Vektor is testing the new version now. We intend to complete a rolling restart this week with this fix and fixes for several other serious issues.

Popularity: 47% [?]

Mono is teh suxxors

image Yup, that’s right, I said it : The Mono rollout blows goats.

The plan, as given by Linden Lab™, was that existing scripts would not need to be recompiled to Mono, and could continue to run as they always have :

Unless scripts are explicitly converted to run on Mono they will continue to run on the existing scripting engine. There is no automated conversion to Mono and all existing scripted content will continue to run on the original scripting engine as before.

That is a greatgood plan, and if it had worked as intended I would have had no problems with it.  The problem is, of course, that it doesn’t work.  Epic Fail.

Anyone who has tried to duel since the Mono server rollout knows what I’m talking about : The swords can take upwards of 5 seconds to switch state from block to attack or vice versa.  Apparently the "run on the original scripting engine" part was left behind in favor of a "run on a (mostly) compatible scripting engine" philosophy.

While trying to come up with an interim fix, I tried compiling the C:SI scripts already in the Taketori to Mono, with mixed results.  Some scripts *still* don’t compile (and why the hell would they roll out Mono when everything still doesn’t compile?!?!??!), though most of the ones I tried did compile.  The difference was noticeable, so I gave a few Mono-compiled betas out to get some feedback.

From what I can gather by that feedback, I’m not going to get away with such a quick and easy workaround : The scripts still have a very noticeable delay when switching states, and do not perform at all as well as the original scripts used to.

To say I’m upset and discouraged would be an understatement.  In fact, a good way to demonstrate how irritated I am without a long litany of curse words is just to quote one of Judo’s comments (emphasis added) :

Judo Jung said:

So I am curious, what is the game plan now given that C:SI is effectively broken? Are the developers going to work on mono, and will we have to wait until the scripts have been rewritten for mono to fight again, and if so, any estimate of how long that might take? Or will there be any attempt to deal with the block latency problem using the existing script? Without C:SI, SL is a bust for me!

Thanks

Yeah.

I’ll re-iterate that Archanox is working on the long-term solution of refactoring the scripts into a real working system under Mono, though of course there’s just now way of knowing how long that can take. I wouldn’t make any bets on it being in the immediate future, though.

Until then, I guess we can somehow try to let Linden Lab™ know of the problem and how it affects close to twenty thousand people in-world, but given their very poor history of responding to such issues and the ever-dwindling avenues of communication I can’t promise that would be any quicker.  Maybe all of us together can make enough noise to be heard, who knows?

I will work on trying to figure out how to either beat the existing scripts into some semblance of a workaround, or see what options might be available to get everything working as well as possible.

We will do our best to get this issue resolved as quickly as possible, and we will keep you all informed as we go. 

In the meantime, I have suspended sales of the Taketori, as I don’t expect that I’ll have enough time to respond to the anticipated customer messages about buying a broken product :(

[UPDATE]

This comment was left on the "What in the world is wrong with Second Life" post :

Babbage Linden said:

The only issue I know if which affects scripts running on the original scripting engine in 1.24.3 is that state changes are incorrectly restricted to 1 per frame. We have a fix for this issue which will be likely rolled out next week. If the problem is due to something else, please file a bug on the public JIRA here https://jira.secondlife.com/browse/SVC-1276

Babbage Linden’s latest blog post is : Mono Launch

I’ve been working on a workaround, and I think I have found out something interesting about the cause.  I have several beta testers trying out some changes, and I’m working on creating a repro case for Linden Lab that focuses on just the problem at hand so that I can provide them with as much relevant information as possible.

Thank you, Babbage Linden, for taking time to brave these hostile waters and leaving a comment.  It is much appreciated!!!

:)

Popularity: 35% [?]

Tentative plans for Taketori Update

image I figured I’d present my tentative plan for an update to the Taketori, and give people a chance to provide feedback on it here before I release it.

What I’m thinking is that I’ll do some tweaks to the timing, since that’s been the hot-button topic of the instant messages I’ve been getting in-world, as well as revisit the kick push. 

I think the smartest way for me to do the timing tweaks is to roll back that code to a previous version (thank goodness for SVN) and go from there, so that as much as possible I avoid the drifting effect of patching a patch, then applying whatever changes might be necessary.

I’ll do the same thing with the kick code.  That code has a more easily understood reason for being off (remember when Kelly Linden told me I’d have to modify the push power to be consistent with the new Havok 4 changes?), so I’ll roll back to the original kick code and start the testing from there, tweaking if and where necessary.

I also downloaded the newly-released Release Candidate viewer that has Mono support, and will play around with that.  There are a large number of known bugs with this viewer, and I have no idea where Mono support is, so it may not work out to test sword scripts in Mono on the main grid.  If I can get it working without obvious disastrous problems, I’ll pass around some beta weapons running on Mono-compiled script to see how those do.  No promises there, though, I just don’t know if Mono is worthwhile yet.

I do know that Archanox has been testing out Mono on the Beta grid, and has been working on refactoring the C:SI scripts to take advantage of the Mono runtime’s better memory handling and increased memory space.  This should allow us to consolidate several scripts that were only split up due to limitations in LSL, and I’m quite excited about his progress so far.  I can’t wait to hear more about his experience with this!

Popularity: 22% [?]

Mono Update 6 Now Available For Testing

Linden Lab® recently posted that the Beta grid has a new Mono update deployed and available for testing :

The Mono regions on the beta grid are now running on shiny new simulators. This update includes fixes for the following:

  • SVC-1414 llBase64ToString does not work properly
  • SVC-1397 Unicode character difference between LSL2 and Mono
  • SVC-1867 Unable to upload changes made to scripts in inventory
  • SVC-1323 llPlaySound / llTriggerSound fail
  • SVC-1827 if (key) always returns false
  • SVC-1857 llDumpList2String corrupts key values
  • SVC-1451 Chopper Hoverboard doesn’t work in Mono
  • SVC-1707 Keys cause invalid IL exceptions
  • SVC-1825 Control event triggers runtime error

Just looking at that list of fixes gives me hope.  At least 4 of those 9 items were blocking issues for C:SI/Mono testing, and without those being fixed there was no possibility of going further.  Yay for fixes!

As usual, I’m way too busy at work to be able to take the time out for immediate testing, but I’ll definitely try to get around to it as time allows and will report my findings here.

Popularity: 37% [?]



Bad Behavior has blocked 107 access attempts in the last 7 days.

Close
E-mail It