ID:636101
 
BYOND Version:493
Operating System:Ubuntu 10.04 LTS
Web Browser:Firefox 11.0
Applies to:Dream Daemon
Status: Unverified

Thus far we've been unable to verify or reproduce this bug. Or, it has been observed but it cannot be triggered with a reliable test case. You can help us out by editing your report or adding a comment with more information.
Backwards Compatibility issue.

Descriptive Problem Summary:When attempting to plant strawberry seeds in Harvest Moon: Trinity Ranch on plowed farm land, after pressing C, seeds are not spread in a 3x3 circle as expected, instead, nothing happens, the bag of seed still remains with the player, and this error appears in the error log:
runtime error: Cannot create objects of type null.
proc name: Use (/mob/Player/verb/Use)
usr: Higoten(/mob/Player)
src: Higoten(/mob/Player)
call stack:
Higoten(/mob/Player): Use()


Numbered Steps to Reproduce Problem:
1) Host (Dream Daemon required) or join Harvest Moon: Trinity Ranch

2) Click "Start".

3) Follow the path to the left, at the first intersection, follow the path down, at the second intersection follow the path to the left.

4) Enter the building that you see. In here, face the red bag of seeds (middle bag on the south-most table) and press Z. You will have picked the seeds up and you should be carrying them. (screenshots from help-guide).

5) Follow the path back to where you started, and go just south of the starting area, where you can plant these seeds.

6) Press Z to drop the seeds on the ground and make plowed land by making sure you have the hoe equipped (tool in the upper left hand corner) and pressing C, do this to make a 3x3 square. (Screenshots from help-guide).

7) Pick up the seeds and stand in the middle of the plowed square and press c. This should create the error message.


Expected Results: The seeds should be planted (and without a run-time error), as all the other seeds do.

Actual Results: The seeds are not planted, and a run-time error occurs.

Does the problem occur:
Every time? Or how often? Every-time.
In other games? N/A.
In other user accounts? Untested.
On other computers? Yes.

When does the problem NOT occur? The problem does not occur when hosted in the WINDOWS version of BYOND.

Did the problem NOT occur in any earlier versions? If so, what was the last version that worked? 481.1089 was the version that was last running on the server.


I've also had the following error messages appear (seemingly randomly) in the error log since upgrading to 493.1116, I'm hesitant to create a bug report for each one, as I've had no luck reproducing them, let me know if I should create a bug report for each one:

BUG: Underflow in ReadCacheItem()
BUG: Unexpected hub certificate (65535)
BUG: Unknown message received (14080,queue=174)
BUG: Unknown message received (50689,queue=174)
BYOND Error: failed to certify Trisenti

Is there any way to narrow down the version this occurs in? Without source this is already a difficult issue to test, more so because it only happens in Linux servers. (I ended up testing the full set of steps in a Windows server before seeing the note that this was Linux-only. Gah.) The fact of this being a Linux issue makes my testing ten times more difficult. In fact without being able to run this in a Windows debugger, trying to catch this in Linux is going to be nightmarish.

However I'm not actually convinced it strictly is Linux-only, and it might have as much to do with the world's savefile--if you can provide that I can always try to test with it to see if maybe a Windows server will see the same issue. On the backend, I don't see how the Linux and Windows servers could behave all that differently.
I sent you an email that contains what we use when hosting HMTR, including the HMworld.sav file. I haven't had much luck reproducing it using Dream Daemon on windows XP.

I'm also working on narrowing down what version this begins in, and I'll get back to you on that.
Okay, still not seeing this with that savefile, so there must be more to it. Player savefiles are a possibility, though if that's the case it might be impossible to reproduce this without making alterations to the file in question.

I strongly suspect savefiles are at the heart of this though, for two reasons. The first is that as I mentioned the backend code should basically be identical between Windows and Linux. The second is that ReadCacheItem() is a savefile routine. The underflow error means that the data buffer in which the file data is stored is shorter than expected, which I think is a strong indicator of a file being corrupt.
I'd like to note that I attempted to reproduce this with 493.1116 on the Tibbius server (running Ubuntu 8.1) with no success. The seeds appear to have planted successfully, or at least with no runtimes.
In response to Audeuro
Audeuro wrote:
I'd like to note that I attempted to reproduce this with 493.1116 on the Tibbius server (running Ubuntu 8.1) with no success. The seeds appear to have planted successfully, or at least with no runtimes.

This is further evidence of my theory that the fact of the server running on Linux isn't the issue; you wouldn't have the same savefiles.
Lummox JR changed status to 'Unverified'
Good news, after I contacted the host yesterday about checking into this issue and checking older versions.

It seems that he fixed the issue by: "I zipped up the entire folder, deleted a bunch of stuff then unzipped it and it worked fine".

At any rate, I don't see much different file-wise on my end, but everything seems to be back into working order without runtime errors (or any error messages for that matter).

I'm still not sure of what to make of the possibility of savefiles causing this problem, but all savefiles remain in tact.

Let me know if you have any questions or if you just want to let this go as "not a bug".

Thanks.