PDA

View Full Version : 0.2.1 compiled, but problematic


Sin
02-02-2002, 01:30 AM
I was able to fix up 0.2.1 and compile it on my Linux machine (works on FreeBSD too of course) after about an hour's worth of work..

Problem is that the world server still deadlocks constantly, usually within a few seconds to a few minutes. I managed to get everything compiling, but I certainly don't have the C++ or recursive mutex knowledge to fix these issues.

Not to mention, I still haven't personally figured out how to get a server working on the non-localhost. localhost (win32) works fine, but remote world/zones (win32, linux wine, freebsd wine, linux native, freebsd linux emu) always boot me back to the server selection screen after I choose a char and 'Enter World'. Probably a config error or client issue on my part. Any suggestions on that?

If someone wants me to put together some of the parts or the binaries for 0.2.1 for them, I can for zone and world (haven't tried login yet), but world is pretty useless thanks to the deadlocking.

steve
02-02-2002, 05:13 AM
please do, I know there is people that would appreciate it :)

steve
02-08-2002, 03:24 PM
Ever get around to this?

How about 0.2.2? Depending on the OS, I can get halfway thru the compile or none at all.

I've tried RedHat 7.2 and FreeBSD 4.3-4.4.

misanthropicfnd
02-08-2002, 05:36 PM
I have hacked up the 0.2.2 codebase to the point where it builds and allows me to login, create characters, zone, & play. Zone doesn't properly disconnect clients as yet and there appear to be a few ways to deadlock either of them. With some time I'll try to add some pthread debugging functionality to see where issues exist--but I'm no expert so no promises. I'm currently pointing it to a minilogin instance on a separate win32 box. The source is a bit big to post to the forum (even when cleaned) so if someone has a location available to post it to that'd be cool. Otherwise I can just send it via the protocol of your choice if you're interested. If desired I'll try to supply patches in a more preferred format if a dev wants to integrate some of this stuff.

DeletedUser
02-08-2002, 09:31 PM
I moved all the mutex/criticalsection calls into a new class Mutex in 2.3... hopefully will make debugging and testing easier (since there'll only be one spot to change something).

For the deadlocking it's probably one of either 2 things:
I dont like the look of the declare statement, it almost looks like it's using it as a local variable instead of the class variable.

The static recursive declaration isnt working right.


Might just fix this problem by writing the mutex class for linux to handel the recursion and use a standard mutex. That would introduce another level of bugs though. :/

misanthropicfnd
02-09-2002, 03:00 AM
Separating mutexes into a separate class will be good. It'd be nice to have the platform dependent stuff isolated in utilily classes so the main codebase doesn't need to be littered w/ifdefs. But I imagine that won't be 100% possible easily.

I look forward to seeing what you've done in 2.3 and seeing what I can do to contribute.