Eingriff #232 - Gestartet - S1 Deadlock durch verdoppeltes Pferd

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

      Eingriff #232 - Gestartet - S1 Deadlock durch verdoppeltes Pferd

      Hey,

      S1 musste gerade hart neu gestartet werden, da sich der Server in einer Endlosschleife aufgehangen hat.
      Ursache dafür war ein Pferd, welches wohl durch einen Fehler verdoppelt wurde. Dies hat dann wohl an einer anderen Stelle zu einem Deadlock gefüht.

      Das Problem scheint ein genereller Fehler in Spigot zu sein: google.de/search?q=Long2ObjectOpenHashMap+spigot+EntityHorse
      Und ist auf Kadcon vor einigen Monaten schon einmal aufgetreten.
      Das wird ein komplexes Problem sein, daher muss ich mir dass nach dem 1.12.2 Update mal genauer ansehen :agent:

      Durch den gezwungenen Neustart wurden einige Grundstücke nicht gespeichert und ein Teil des Baufortschritts kann verloren gegangen sein. ||
      In der 1.12.2 wird es auch dafür einige Verbesserungen auf Kadcon geben, wodurch der Verlust maximal etwa 15-20 Minuten betreffen sollte. In der 1.11 fehlen derzeit noch einige Sicherheits-Codes, die bei Updateproblemen von 1.9 auf 1.11 temporär entfernt wurden.


      Kade
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Tut mir leid, habe gerade mitbekommen, dass mein Pferd den Server abgeschossen hat.
      Jetzt wissen wir auch warum.
      Hab mich nämlich schon gewundert, wieso ich mich kurz einloggen konnte aber keine Befehle mehr ging und auch keine Druckplatten.
      Kann mich nur entschuldigen, auch wenn ich nichts dafür kann, an euch alle, das ihr Sachen verloren habt usw... :(
      Jetzt liegen meine Pferde in der Erde und alles ist wieder gut.
      Hey,

      eine kurze Erklärung dazu warum dieses Problem auftritt:

      Ganz bestimmte Tiere geraten in die Situation, dass sie (warum auch immer) probieren mehrere 10.000-Blöcke weit über die Karte zu laufen.
      Dies führt dazu, dass der Server ein sehr großes Gebiet abfragen muss um sicher zu stellen dass dies "ok" ist.
      Dafür muss der Server wiederum hunderttausende Grundstücke/Chunks abfragen. Obwohl diese nicht geladen werden ist allein die Abfrage ob das GS/Chunk existiert so aufwändig, dass der Server mehrere Minuten daran fest hängt.

      Die Server erhalten nun einen Hotfix, über den alle Werte, die klar zu hoch sind ignoriert werden.
      Im weiteren Verlauf probiere ich dann genauer raus zu finden an welcher Stelle diese hohen Werte überhaupt enstehen

      Quellcode

      1. [2017-11-28 19:44:37] [Server thread/INFO]: world.getCubes() called with high values: 160258.7285119051 -- box[-423672.6067180897, 63.0, -56540.753932504325 -> -205.36633149391727, 64.2999999821186, 766.8912166330246] world
      2. [2017-11-28 19:48:27] [Server thread/INFO]: world.getCubes() called with high values: 160258.76184523644 -- box[-423672.6067180897, 63.0, -56540.753932504325 -> -205.36633149391727, 64.39999997615814, 766.8912166330246] world
      3. [2017-11-28 20:17:51] [Server thread/INFO]: world.getCubes() called with high values: 160271.61687012177 -- box[-423703.97032151406, 63.0, -56548.055403729995 -> -205.36633149391727, 64.2999999821186, 766.8912166330246] world
      4. [2017-11-28 20:22:22] [Server thread/INFO]: world.getCubes() called with high values: 160271.65020345311 -- box[-423703.97032151406, 63.0, -56548.055403729995 -> -205.36633149391727, 64.39999997615814, 766.8912166330246] world


      Quellcode

      1. if(d0 > 50 || d0 < -50 || d1 > 50 || d1 < -50 || d2 > 50 || d2 < -50) {
      2. OutputHelper.error("Move values in Entity EXTREME high: " + d0 + ", " + d1 + ", " + d2 + " " + this ); // kade debug
      3. OutputHelper.stackTrace("Movestack");
      4. return;
      5. }


      Kade


      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.
      Und hier dann noch der "fix" im Einsatz, welcher das Schweinchen gerade korrigiert hat.

      Der Fehler tritt leider/ein Glück nur etwa 1x die Woche auf - daher heißt es auch für mich jetzt wieder warten darauf, dass es wieder passiert, damit ich rausfinden kann woher diese Werte in etwa kommen.

      Quellcode

      1. [2017-11-28 20:48:59 INFO]: Kademlia[/32994] logged in with entity id 18523 at ([world]-205.6793591781316, 63.0, 765.1572893238672)
      2. [2017-11-28 20:48:59 INFO]: B Move values in Entity high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      3. [2017-11-28 20:48:59 INFO]: W Move values in Entity high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      4. [2017-11-28 20:48:59 INFO]: X Move values in Entity high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      5. [2017-11-28 20:48:59 INFO]: Y Move values in Entity high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      6. [2017-11-28 20:48:59 INFO]: Z Move values in Entity high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      7. [2017-11-28 20:48:59 INFO]: Move values in Entity EXTREME high: -480.69457495794563, 0.0, -509.88934743065204 EntityPig['Grumm'/18526, l='world', x=-205.01, y=63.00, z=766.55]
      8. [2017-11-28 20:48:59 INFO]: StackTrace: Movestack
      9. [2017-11-28 20:48:59 INFO]: java.lang.Thread.getStackTrace(Thread.java:1559)
      10. [2017-11-28 20:48:59 INFO]: org.bukkit.kade.OutputHelper.stackTrace(OutputHelper.java:52)
      11. [2017-11-28 20:48:59 INFO]: net.minecraft.server.Entity.move(Entity.java:792)
      12. [2017-11-28 20:48:59 INFO]: net.minecraft.server.EntityLiving.a(EntityLiving.java:1854)
      13. [...]


      Kade
      blog.kadcon.de
      Bitte möglichst alle Fragen im Forum stellen und nicht mir per Privatnachricht.

      Kademlia schrieb:

      Ganz bestimmte Tiere geraten in die Situation, dass sie (warum auch immer) probieren mehrere 10.000-Blöcke weit über die Karte zu laufen.
      Sucht die KI, je nach Mob, nicht normalerweise nur im Umkreis von 16 bis 64 Blöcken?

      Für mich klingt die Sache mit den 10.000den Blöcken so:
      Server: Such mal im Umkreis von 00001000 Blöcken nach einem neuen Standort.
      Schwein: Ok Chef, sonst noch was?
      Server: Oh hoppala, da ist mir grade das Byte umgekippt. Ach egal, such jetzt einfach den Bereich ab, den du da grade hast. Also im Umkreis von 11110111 Blöcken.
      Schwein: *fängt an zu suchen und legt den Server damit lahm*
      Hinweis für Allergiker:
      Meine Beiträge könen Spuren von Sarkasmus, Ironie, Haselnüssen, schwarzem Humor und anderen Hülsenfrüchten enthalten.