Home > Uncategorized > Bug unplugged

Bug unplugged

November 25th, 2009

Since 1.23 is out a few people are experiencing a nasty map bug, or at least it manifestates in the map view – it exists elsewhere as well but is less noticeable. I crafted a small Javascriptlet to get around this bug, but it’s not a solution that can be applied on the productive system. So here’s a javascriptlet that can help you temporarily:

Seit dem Release von Version 1.23 haben einige wenige Leute Probleme mit einem ärgerlichen Kartenbug, zumindest zeigt sich der Bug in der Karte am deutlichsten – er existiert vermutlich noch an anderen Stellen, tritt dort dann aber nicht so prominent in Erscheinung. Ich habe ein kleines Javascriptlet gebastelt mit dem man temporär um den Bug drumherum kommt, allerdings kann dieser quickfix nicht im Produktivsystem integriert werden. Den folgenden Codeschnippsel kann man in die Adressleiste vom Browser einfügen um zumindest die Karte wieder zum Vorschein zu bringen:

javascript:WMap.mapData = new MapData(); WMap.scroll_map_to_char(); void(0);
javascript:WMap.mapData = new MapData(); WMap.scroll_map_to_char(); void(0);

If you copy that line of code into your browser’s addressbar, you can bypass the bug for a while at least.

Nun aber zur wichtigeren Frage: Was ist die Matrix der Bug?

Die Antwort darauf ist eher kompliziert, ich würde sogar behaupten das dies einer der bemerkenswertesten Bugs ist, denen ich je über den Weg gelaufen bin. Bemerkesenwert insofern als dass die Reproduzierbarkeit extrem Bizarr ist. In der Firma gibt es zur Zeit keinen mir bekannten Rechner, bei dem der Bug reproduzierbar wäre, allerdings besitze ich einen Asus eee auf dem der Bug reproduzierbar auftritt, wie ich zuhause herausgefunden habe.

Am Montag habe ich das Netbook also mitgenommen (eigentlich habe ich es immer dabei weil ich Zug viel rumtippe damit). Ich habe es mit dem Firmennetzwerk verbudnen, konnte den Bug aber mit meiner Entwicklermaschine nicht reproduzieren, seltsam, allerdings läuft auf meiner Maschine auch ein anderer Webserver. Mit der Entwicklerkiste von einem Kollegen konnte der Bug aber tatsächlich relativ Zuverlässig reproduziert werden.

Wir haben den ganzen Tag versucht dahinterzukommen, wie der Bug entsteht. Wir haben herausgefunden dass der Bug in diesem Fall nicht in unserem PHP Programm zu suchen ist – PHP wird nie aufgerufen. Nachdem wir mit Wireshark die Verbindung aufgezeichnet haben haben wir herausgefunden dass die Anfragen einfach versanden. Wir hörten auf als die Batterien des Geräts leer waren (nach etwas mehr als 6 Stunden…)

Am nächsten Tag hatte ich mein Ladegerät mitgenommen damit wir nicht mehr von den Batterien abhängig sein würden. Ich hab den Browser gestartet, die Seite aufgerufen – und es ging. Einfach so. Wir konnten keinen Unterschied feststellen. Der Server lief mit dem gleichen Programm, das Testgerät auch, egal wie oft wir F5 drückten, es blieb beim alten, der Bug war weg.

Bis ich den Stecker zog und die Seite aktualisierte. Da kam zuverlässig der Bug wieder zum Vorschein. Ich steckte das Gerät wieder an und der Bug war weg. Ich bin mir ziemlich sicher dass das schwer zu glauben sein muss, aber wie ich schon sagte, dies ist einer der seltsamsten Bugs denen ich je begegnet bin, aber es ist Wahr! Es ist nur dann reproduzierbar wenn das Notebook ausgesteckt ist und die CPU und Chipsätze im Sparmodus sind (was jede Menge Nebeneffekte bzgl. des Timings im Netzwerkverkehr nach sich zieht, in diesem Falle mit gravierenden Folgen). Wer’s nicht glaubt soll sich das Video anschauen! Ich aktualiere dort mehrfach den Browser (Internet Explorer 6 in diesem Fall), in eingesteckten und nichteingesteckten Modus.

But now the more important question: What is the Matrix bug?

The answer is rather complicated and I would say that this is among one of the most notable bugs that I have experienced so far. Noteable because the reproduceabilty is extremely weird. The company does not have any computer where this bug can be reproduced, however I possess an Asus eee, a device that can reproduce the bug as I found out at home.

So on monday I took it to work (like always, I type a lot of stuff when I am on the train). I connected it with the company’s network and the first thing I noticed is that my local developer machine cannot reproduce the bug with my machine. Weird. But well, I am using a different webserver. So I connected to my collegue’s webserver and the bug worked as expected.

We tried the whole day to get behind this bug. We found out that it is not the fault of our PHP programs – PHP is never called. The client’s request simply vanishes at some point. We used wireshark and looked at everything – but we could not make any progress here. The requests arrive at the webserver but there, the requests simply die. At the end of the day my netbook’s battery was drained (they lastet for more than 6 hours).

The next day I brought my charger with me, just to get over the day a bit longer. I fired up the browser, requested the page in question – and it worked. Out of the box. We couldn’t figure out what was different. The server was unchanged, the software was and no matter how often we pressed F5, we couldn’t get the bug working again.

Until I unplugged the device and refreshed the browser. And there the bug surfaced again. I put the netbook on the charger and the bug vanished. I am pretty sure that this must be hard to believe, as I said, this is one of the weirdest bugs that I’ve ever faced, but this is true! It is only reproduceable if the netbook is running in battery mode where the CPU and other chips are running in battery-safe mode (which is of course influencing the timing in the network traffic, which can have side effects, in this case with grave effects)! You still don’t believe it? Watch the video! I am refreshing the browser (Internet Explorer 6 in this case) several times, sometimes unplugged, sometimes plugged in.


[youtube]HuR8XK393cc[/youtube]

Although this bug appears to be funny, I can reassure you that we are taking it very serious and that we are working on a solution to fix it.

Obwohl der Bug sehr witzig erscheinen mag kann ich versichern dass wir das Problem sehr ernst nehmen und dass wir an einer Lösung dafür arbeiten.

Categories: Uncategorized Tags:
  1. Alan Wilkinson
    November 26th, 2009 at 01:29 | #1

    Ah, nice. Thanks for the Javascript.

  2. Diggo11
    November 26th, 2009 at 08:15 | #2

    That is so random… it just shouldn’t happen! Lucky you were careless enough to forget your battery on Monday, otherwise you’d have NEVER found that one 😉

  3. forest
    November 26th, 2009 at 20:50 | #3

    How far are you? Could you already localize the bug?

    I tested with my notebook (Dualcore 2 GHz, 2 GB ram, win 7) with firefox and ie but couldn’t reproduce that bug.

  4. Leones
    November 27th, 2009 at 12:31 | #4

    Weird bug 😉

    Thanks for the javascript though, it should help a lot of people with this bug (although I don’t have it myself).

  5. john
    November 28th, 2009 at 23:02 | #5

    wth?

    das ist ja mal der oberwahnsinn dieser bug :D:D

    mann mann… ein glück das du so kompetent bist, was wäre TW ohne dich! 😉

  6. astraeus
    December 4th, 2009 at 23:37 | #6

    Hi there. Have copied the javascript but to no avail. Have partial success in World 3. Map opens up, but is completely blank. Only appears correctly if I select work far from current position.

    Worlds 4, 6 & 7 unplayable. Upon loading all that appears is the blue map screen. Any ideas or solutions please (unlike your laptop in video my platform is permanently connected to mains therefore never in ;battery mode’)

  7. Spieleguru
    December 5th, 2009 at 23:20 | #7

    Hi,
    also mit meinem Zweitrechner(Intel Pentium III @ 1ghz, Windows XP) mit dem Browser Opera wird die Karte ebenfalls nie angezeigt. Bei meinem anderen mit AMD Chipsatz und PhII 955 BE(Windows Vista) mit Browser Opera funktioniert es. Alle anderen Browser funktionieren ebenfalls bei beiden Systemen(IE7,8, FF2,3,3.5).

    PS: Wollte hiermit nur einen Programmierer helfen, wir müssen schließlich zusammen halten 😛

    LG

  8. December 6th, 2009 at 16:19 | #8

    are developer think about new feature like trading product between player ??

  9. Jon Game
    December 15th, 2009 at 16:58 | #9

    Also bei mir kommt dieser Bug auch hauptsächlich auf dem Laptop ohne Stromanschluss vor.
    Jedoch habe ich es auch ab und an wenn ich an der Büchse hänge und manchmal sogar auf dem PC der ohne Accu läuft…..

  10. dikamilo
    December 15th, 2009 at 21:55 | #10

    I have this bug in my Opera Mobile, but this javascript fixed it, thanks.

  11. Johnny One Finger
    December 28th, 2009 at 18:47 | #11

    Well, I just tried unplugging with my Acer Aspire 5737Z.
    The game works just fine, no bugs.

    Could be because of laptop specs, or maybe operating system / power management applications.
    I’m using Vista Home Premium 32 with Acer ePower Management;
    But I have dual-boot. I’ll switch to XP (don’t have any power management software there).
    Be right back.

  12. Johnny One Finger
    December 28th, 2009 at 19:12 | #12

    Same thing. No bugs in Xp either… at least not for me.
    Tho, I have a nice, interesting “bug” for you.
    At the Town Hall, the radio button right in front of the building’s name:

    -in Vista, when the building is completed (max level) the button gets shaded.
    -in XP with SP3, the button dissapears.

    Here you have two screenshots:

    Vista: http://i145.photobucket.com/albums/r237/blinkk2/vista.jpg
    XPSP3: http://i145.photobucket.com/albums/r237/blinkk2/xpsp3.jpg

    Have fun testing.

  13. nicholas alexander von pickartz
    December 29th, 2009 at 22:35 | #13

    interesting ,
    not many people would bring there charger with them everywhere

  14. Diggo11
    January 6th, 2010 at 03:25 | #14

    No post on 1.25 yet?

Comments are closed.