Showing posts with label Bugs. Show all posts
Showing posts with label Bugs. Show all posts

23 October 2014

Hip Hip Array!

I had a script working absolutely fine (by which I mean it worked "mostly fine"), and then I made some changes to it which involved the inclusion of some diagnostics.

And then the Bad Things began.

My script was basically building multiple arrays by collecting data and indexing it non-sequentially.  Instead of assigning data to my_array[ 0 ], followed by my_array[ 1 ], then my_array[ 2 ], I would first collect data for my_array[ 5 ], followed by data for my_array[ 3 ], and so forth.

My diagnostics printed out all of the data collected by the arrays, and that data was incorrect.  "Math," I cursed, and started debugging.  Socks recently supported negative indexes (which means instead of writing my_array[ index - 1 ], I could instead just write my_array[ -1 ] ), and I was convinced that my array index pointer was somehow falling into a negative number.  I added more diagnostics.  The correct answers were being displayed correctly with these new diagnostics, but the data was still wrong within the summarized diagnostics.

Three days of debugging and I found the problem: my script was absolutely fine, but my summary diagnostics were looking at the wrong sets of data types.  Once I corrected that, then all of the data matched.

I am such a chucklehead sometimes.

08 August 2013

Jitterbugs

I have been corresponding with a player who has been sending me a steady list of uncovered bugs.  Some of these bugs are eyebrow arch-inducing.  I want to acknowledge this player's efforts: thank you, you know who you are.

If you find a jitterbug bug, or have an idea or a suggestion, then please let us know!  You may either /bug it, or you may address an email to me, YappyGM, at my gmail account.

29 July 2013

if ( debugMode )

I have been struggling with my recent scripting project, and I found a simple solution: add a lot of announcement checkpoints throughout the script so that I may follow the script's progress:
    if ( debugMode ) log( "Scanning " + theIncomingText );
This was incredibly helpful in finding bottlenecks, missing data and other shenanigans caused by me whilst attempting to write this code quickly.  As a result of these internal announcements, I was able to find numerous bugs, squash them, and get my script running in an "as expected" manner!

Next up comes the long, dull portion of adding controls and restrictions (silly stuff, like "don't use a tinderbox while the player is under water" kind of logic).  But I am pleased to be reaching this point, as it is an indication of progress!

16 April 2012

A Taxing Day

I spent the entire day sifting through the backlog of bug reports.  My eyes are tired, and I feel a little weary, but all of the bug reports have been organized.  I am quite pleased with my productivity today.

Some of the reports contained flattering comments.  Thank you; receiving a couple of Attaboys is always welcomed and much appreciated.  Some of the reports were ideas and suggestions (herpetid omelets, anyone?), and some reports were gripes and complaints (gotta love path finding).

The remainder of the reports were problems, and boy-howdy were there a lot of problems.  I spent some time fixing the easy-to-do bugs (anchors will now work properly within the waters of the Southern Shoals), and I asked for advice/strategies for handling the more complex, involved bugs (such as the Fire Island Drake bug; I will need to wear a long-sleeved shirt just so that I can roll up my shirt sleeves when debugging that problem).

Now that I have procrastinated all afternoon by organizing bug reports, I should probably get to work organizing my taxes.

02 April 2012

Math FAIL.

One of my surprise areas had a surprise itself: some of the data was incorrectly set because I did some bad math.  Bah.

Once the problem is resolved (the mistake was corrected but the script needs to be restarted), then I'll extend the accessibility to the area by a couple of days.

[Edit]: The fix has been applied, thanks to ServerGM.  Whew.

31 March 2012

The Joke's On Me

I threw the switch and opened this year's April Fool's Day ("AFD") area.  While I was busy doing some last minute fussing, I noticed within the player window that one player's name had suddenly changed.  I went to investigate and I found, to my horror, that the old Angbang area was now opened.



This came as a surprise to me, because this was an area which I had not opened!  I did a quick check and discovered that (somehow) the portal leading from the current AFD area to town was not leading to town — as indicated within my copy of the world file — but instead was leading to the old AFD Encore Nexus.



Ugh.  I quickly applied a patch so that the exit portal to town actually lead to town.  I would have left the old Nexus area opened, but some of the areas within the encore required preparation (and bug fixes) which simply had not been prepared (nor fixed).

I hope that this is the only joke played on me for this update!

31 December 2011

Yappy 2011 (Again)

Happy New Year!

Another fine year comes to its conclusion – and that year is 2010.  "Now hold on one moment, Yappy," you may be saying to yourself (or aloud to the computer monitor).  "I may not be some fancy horologist, but I am fairly certain that the year is 2011 going on to 2012!"  You need not explain that to me nor to your computer monitor.  Someone may need to explain that to the Clan Lord system server.

You may have noticed that iClan has been behaving a tad unusual today with respect to its calculation of "time clanned":



This is actually the result of a small bug on the server end: one of the time conversion routines gets a little confused calculating the correct date on the eve of a leap-year year.  So once every 1,460 days we are all presented with an opportunity to impress our friends with a cheap screen shot of some monstrous hours clanned!

A happy and healthy New Year to all!

13 November 2011

One Mistake

I compiled the revised quest script on my private test server.  I mentally prepared myself for a lot of work: I was dreading the expected long list of errors and was pleasantly surprised to find one minor bug.

One mistake.  Wow.  I am so happy right now!

11 November 2011

V729 Is Delivered

My quest script has been rewritten!

It is a shame that this script was not included in my submission for V729 (which contains some proof-of-concept areas for a new adventure that my helper and I have been developing).  I still have a little time this weekend to slide the revised script in under the radar, but I have other activities planned that may distract me for an extended period of time.

I am very pleased that I achieved the goal of rewriting my script, but I now need to run the new script through a test server and begin the debugging process.  My prediction is that there shall be bugs.  Lots of bugs.

29 October 2011

Facepalm Programming

I spent over six hours of my life on Thursday trying to modify one of the older utility scripts.  I was initially pleased when I activated the script and saw the expected result, but I then grew perplexed when (upon further testing) saw variations in the results.  Some results were just plain wrong, and other conditions had no results at all.

I laced the script with multiple lines of diagnostic code, and ran it again.  And again.  I was not annoyed so much in that the script was not working as I was with the seemingly randomness of the results: I could not predict the result nor could I see the pattern within what was happening.  What the heck was going on with my beautiful script!  At no time did I dread "I broke the script," as my additional code was working perfectly: it was the original code that appeared to be misbehaving.  There was something larger happening that I was not seeing.

I turned to researching other scripts that had similar functionality.  What were their scripts doing that mine was not doing?  I could not see any differences, and my eyes began to tire from all of the reading.  I was about to end my debugging session when I had a sudden realization; within the World Editor Tool there are some "script check boxes" (for want of a better description) which basically set behavior preferences for a script's interaction with the world.  Did I have my check boxes checked?

Nope.  I had left one check box unchecked.  And after checking it, my script worked perfectly and predictably.

Oh brother.

10 March 2011

The Bugaloos

I spent a portion of this afternoon going through the V690 bug log and categorized/fixed what I could in the time that I had.  There have been some cool suggestions made (sharable chocolate boxes), some observations which aren't technically bugs but require addressing (Deadly Hornets not making any sounds upon a hit – they do make sounds, but they're poorly chosen sounds), and the ever-present "it's raining indoors here" weather-related reports.

It was my understanding that another GM was going to handle the "interior precipitation" problems, but evidently the other GM could use some assistance in resolving this matter.  I believe that I shall help.

While closing bugs this afternoon, an old children's television theme song ran through my head:

The Bugaloos
The Bugaloos
It isn't fair
They're everywhere...

I made myself laugh.

27 January 2011

If I Only Had A Brain

The V687 update brings some new, subtle changes to the Clan Lord universe.  One new change is not so subtle: the problem concerning logs of wood inexplicably vanishing should now be resolved.

I had printed a copy of the script that powers the log of wood, read through it, and marked a lot of notes within the margins.  The script is not small by any means – it filled six printed pages!  I was mildly surprised that something as simple as a log of wood could be so lengthy and complex.  Moreover, as I reread the script, I realized two things: (1) I was out of practice in debugging scripts (shame on me), which lead to (2) I could not locate the cause of the problem within the script.

As the update drew near, I made a comment to the other GMs regarding this bug.  LogOfWoodGM responded by applying a patch to the script, and I would like to acknowledge that it was he – not I – who made the final fix.  My heart was in the right place, but my brain was not.

09 January 2011

It's Log, Log, Log!

I spent a couple of hours this evening reading through the bug logs.  My guestimate is that there were 250 bug reports awaiting categorizing!  I filed away around 50 – maybe a little less than that.  Some of the bugs were "one minute" fixes (correcting spelling errors, removing NPCs from under chairs).  The most popular bug that I have noticed has been the "Log Of Wood" bug.

This bug is very basic (and apparently it is also very common): a player attempting to harvest a log of wood who is then interrupted will typically lose the log of wood without any notification.  Wood behaves less like a log and more like a fragile balloon.

This will be the first script that I tackle for a V687 repair, making it better than bad.

06 January 2011

The Magic Elves Have Been Away, Too

I noticed that the bug log is behind within its categorization and organization.  I had secretly hoped that the magic elves would have maintained the bug log in my absence.

I know what I'll be doing this weekend!

12 October 2010

A Footnote

ServerGM contacted me and mentioned that he was unable to replicate the test server crash bug.  The problem which I had been experiencing is on my end.

Ruh roh.

10 October 2010

10000 Frames

I am thrilled to see this report from my test server log:
23:35:53 Game: still alive after 10000 frames.
Cheers to the ServerGM and his hunches!  After some correspondence, the ServerGM replied "I think I know what the problem is; try [doing stuff] and tell me the results."  Sure enough, the test server no longer crashed and I was able to log on to the game.



All is well indeed!

09 October 2010

Road Blocks and Detours

I am still working with the ServerGM in an effort to resolve my test server problems.  I am excited at the prospect of finding and identifying a genuine server bug!  Only a small number of GMs have accomplished the feat of crashing the live server, and these elite have their names added to the "Don't Do This" list.  While crashing a test server will not get my name added to this list, identifying the cause of the problem and resolving the issue will make Clan Lord a little bit better – at least from a technical standpoint.

There's an old saying: one door closes, and another door opens.  I find myself facing a road block on my projects – I am unable to make any progress on them until until the crashing bug gets resolved – so instead I find myself taking a developmental detour and I am learning a little more about the server.  As the other old saying goes: if there are no problems to solve, then there are no lessons to learn.  And boy howdy, am I learning!

08 October 2010

No Soup For Me

On the evening of submission night, I was still unable resolve why my copy of the test server was crashing.  The ServerGM read through the crash report which I had sent him and found the cause of the problem, but was unable to pinpoint how or where it was happening.  One of the masking gerbils in my areas or scripts is holding a rebellion, and it is consistently overthrowing the system.

I spent this evening deleting script files and rerunning the server in an effort to isolate the cause of the crash.  I made the (rather obvious) decision not to submit any my V672 content while this problem persisted.  I think that this is the second time in my three years as a GM that I will not be submitting material for an update.

No soup for me.

07 October 2010

Technical Difficulties

I completed updating a couple of scripts, including changes to housing which affects home alone monsters.  I had wished to test my code and confirm that my changes were stable.  I certainly wouldn't want any of my scripts to be the cause of any problems!

I launched my copy of the Clan Lord Debug Server.


That's bad, right?  I guess that I have more debugging to do!

06 October 2010

Home Alone

I spent some time today fixing (gulp) a housing bug.  Housing scripts continue to intimidate me because of their complexity and the volume of their numbers (there are a dozen core scripts which manage the various operations of housing).

The bug in which I addressed was an odd problem: monsters were being lured into players' homes and were then wreaking havoc within neighboring homes.  Some may not consider it a problem when the monster is a rat or a vermine, but it's a very different problem when the monster in question is an olive arachnoid.  That is a problem.

I had been thinking about how ways to resolve this bug.  The obvious approach would be to set up some sort of filtering system which would prevent monsters from entering the housing buildings.  The ServerGM came up with a simpler, more elegant solution: allow monsters into the housing areas, but if they're left home alone, then eject them.

I have updated my copy of the related script to boot "home alone" monsters, but I need to test it before committing the changes.  Rangers will have the remainder of V669 to cause mischief!