WolfNetDevelopment / Wormhole-X-Treme

WormholeXTreme is a Stargate plugin for CraftBukkit
http://jira.luricos.de/browse/Wormhole
Other
25 stars 17 forks source link

On 1.022 typing '/dial <gate>' causes the server to freeze #30

Closed Phr33d0m closed 12 years ago

Phr33d0m commented 12 years ago

Hello, I'm hitting an issue with 1.022 on CraftBukkit 1.3.2-R0.2 (build #2358). I've been using prior version (I don't recall which one) without problems on this same CB build.

If I create 2 gates, for example gate1 and gate2, when I go, for example to gate1 http://i.politeia.in/di-34AA.png

and type '/dial gate2' http://i.politeia.in/di-1NBH.png

my server freezes and all my users are thrown out for Read timed out. http://i.politeia.in/di-XDHR.png

The only way to allow all my users again is to restart my server.

Regards.

mafolz commented 12 years ago

what for a bukkit version do you use? i have the same problem, but only since 1.3.2-R0.1 and verified this with 1.3.2-R1.0.

in which code could this freeze be produced? I believe in the Java Class: de / luricos / bukkit / WormholeXTreme / Wormhole / bukkit / commands / Dial.java the conencted message would be produced.

I think it could be into de / luricos / bukkit / WormholeXTreme / Wormhole / model / Stargate.java which deals to the target.

Was there a multithreading which results into the message prompt before the animation starts into Stargate.java? Then the animation could be the problem. but i din't know.

i hope this will be fixed. if i have time, i could try to understand the code and find the problem. If so, they will be a pull request ;D

Phr33d0m commented 12 years ago

I really can't provide any further info from the one I have already given. Btw, there is no stargate effect... my server just freezes before that.

mafolz commented 12 years ago

oh sorry, i hasn't seen the version :)

i wrote some println into the code (beause, the logger doesnt assume the log level config Oo) and found following loop:

.
17:04:22 [INFORMATION] Trying to establish link between 'w2' and 'w1'
17:04:22 [INFORMATION] chevrons not locked
17:04:22 [INFORMATION] Wormhole "w2" EstablishWormholeTaskIdID "11967" cancelled
.
17:04:22 [INFORMATION] Trying to establish link between 'w2' and 'w1'
17:04:22 [INFORMATION] chevrons not locked
17:04:22 [INFORMATION] Wormhole "w2" EstablishWormholeTaskIdID "11968" cancelled
.

Stargate.java

        if (this.getGateTarget().getGateChevronsLocked()) {
            this.setWormholeEstablished(true);
            this.getGateTarget().setWormholeEstablished(true);
            WXTLogger.prettyLog(Level.FINER, false, "Chevrons locked on both sides. Starting thread ANIMATE_WOOSH.");
            WormholeXTreme.getScheduler().scheduleSyncDelayedTask(WormholeXTreme.getThisPlugin(), new StargateUpdateRunnable(this, ActionToTake.ANIMATE_WOOSH));
            WormholeXTreme.getScheduler().scheduleSyncDelayedTask(WormholeXTreme.getThisPlugin(), new StargateUpdateRunnable(this.getGateTarget(), ActionToTake.ANIMATE_WOOSH));
        } else {            
        System.out.println("chevrons not locked");
            WXTLogger.prettyLog(Level.FINER, false, "Chevrons where not locked on both sides. Restarting thread.");
            setGateEstablishWormholeTaskId(WormholeXTreme.getScheduler().scheduleSyncDelayedTask(WormholeXTreme.getThisPlugin(), new StargateUpdateRunnable(this, ActionToTake.ESTABLISH_WORMHOLE)));
        }

it looks like the boolean gateChevronsLocked wasn't true, and will never set to true. I search for more informations

mafolz commented 12 years ago

I think i've got it:

Stargate.java:1048

                this.setGateChevronsLocked(true); //# changed this to true

But i think it is a hotfix and can produce other errrors. Maybe the maintainer can give feedback to this fix.

{Repository owner: Link removed}

Rytharr commented 12 years ago

THank you mafolz, This has been broken for way to long. It seem to be working fine just getting a little extra spam in the console but I can deal with that for now. Below is what is in the logs whenever a gate is dialed.

2012-10-09 04:56:27 [INFO] local dial 2012-10-09 04:56:27 [INFO] chunkload 2012-10-09 04:56:27 [INFO] timeout 2012-10-09 04:56:27 [INFO] target dial 2012-10-09 04:56:27 [INFO] chunkload 2012-10-09 04:56:27 [INFO] timeout 2012-10-09 04:56:27 [INFO] wormhole 2012-10-09 04:56:27 [INFO] Trying to establish link between 'MainSpawn' and 'SpawnC' 2012-10-09 04:56:27 [INFO] established 2012-10-09 04:56:32 [INFO] [WormholeXTreme] Rytharr used wormhole: MainSpawn to go to: SpawnC

mafolz commented 12 years ago

sry, debug log :D

if it bother you, i can build a new quickfix without them :)

Rytharr commented 12 years ago

Nah its ok man Im just grateful for the fix.

lycano commented 12 years ago

as this thread is now used for publishing unsupported external builds i will now close this.

@mafolz never ever again link to external builds without my permission, please. Your "fix" only skips the main problem which seems to be have something to do with the scheduled task which is not that easy to fix.

If you want to continue this discussion feel free to contact me via PM.

Phr33d0m commented 12 years ago

@lycano please do fix this issue.

Regards.

mafolz commented 12 years ago

@lycano sorry to bother you again, but i can't find any PM function in github Oo

And sorry again for the direct link to binary builds. Don't hestitate to send me an email. if i can help to support wormhole-x-treme, i will try to do this.

Regards

Am 10.10.2012 11:11, schrieb Lycano:

as this thread is now used for publishing unsupported external builds i will now close this.

@mafolz https://github.com/mafolz never ever again link to external builds without my permission, please. Your "fix" only skips the main problem which seems to be have something to do with the scheduled task which is not that easy to fix.

— Reply to this email directly or view it on GitHub https://github.com/lycano/Wormhole-X-Treme/issues/30#issuecomment-9294765.

Mit freundlichen Grüßen

Matthias Folz

Rytharr commented 12 years ago

Well the ticket may be closed but the problem still exists in 1.22 so thank you mafolz for getting a temp fix out my server really depends on this plugin as do many others and its been broken for well over a month. And so far your temp fix has been running just fine on my server.

lycano commented 12 years ago

@mafolz if you really wanted to help me then you could have just made a pull request. Instead you published a link hidden in a ticket. Thats how i like it the most!

I really dont get why ppl still continue to do it like that? Do i bite? Whats wrong with just asking me first instead of taking actions first. There are numerous ways of contacting me.

One is via dev.bukkit. Then there is my homepage....

Man im so close in just removing all my repos on github and making my own git with own ticket system....

Im not making it open source so you can publish your own version under the same name! If you want to release your own version with a fix RENAME the plugin. Change at least 50% of the code and then you can release it.

Rytharr commented 12 years ago

Wow man why are you being such an asshole? He said he was sorry. Do you bite? YES it seems so. You constantly flip out on people. You do NOT reply to tickets on dev.bukkit unless its to go off on someone as of late. If this hadnt been broken FOR OVER A MONTH he would of had NO NEED TO FIX IT. Hell this ticket was open for a month did you EVER post a reply? NO. You keep telling people to use your forums or post tickets then you ignore them! Good god man are you on drugs or something?

Rytharr commented 12 years ago

Phr33d0m opened this issue a month ago

lycano commented 12 years ago

@Rytharr you can't accept that someone may have been busy for a longer period of time and prioritize a payed job more than a free job? So then pay me money then you can demand something.

Im sorry that i cant answer to every single message but thats something you have to life with.

Anyways can we please go on? This ticket is closed.