Geändert: 8. 8. 2007, 09:17
Noch mehr Knüppel
Es geht wieder los: der Xilinx-Wahnsinn hat wieder zugeschlagen (Vorgänger: -1, -2 ff.). Diesmal habe ich es tatsächlich gewagt und die Testmaschine in mein Büro geholt um das Design gleich von meiner Linux-Kiste aus zu testen. Verbunden wird das ganze über ein paralleles Kabel, das natürlich nicht erkannt wird.
Eine kurze Recherche brachte die Information, dass es zwar die Windows-Bezeichnungen auch unter Linux verwendet, man aber LPT1 als parport0 usw. ansehen sollte. Während ich mit strace immer noch hinter dem Programm herrannte (habe ich schon mal erwähnt, dass der Mist komplett in Java geschrieben ist? Der Performance wie zu erwarten überhaupt nicht zuträglich) bemerkte ich diese schönen Zeilen im Log:
9717 bind(5, {sa_family=AF_INET, sin_port=htons(50001), sin_addr=inet_addr("0.0.0.0")}, 16) = 0 9660 connect(32, {sa_family=AF_INET6, sin6_port=htons(50001), inet_pton(AF_INET6, "::1", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 ECONNREFUSED (Connection refused)
Wer sich nicht so mit syscalls auskennt: das Programm hat einen zweiten Prozess gestartet. Dieser macht nun einen Port auf dem lokalen Rechner auf, auf dem sich ursprüngliche Prozess zu verbinden versucht. Klappt aber nicht. Warum es nicht klappt ist auch offensichtlich: der Port wird mit dem Typ AF_INET geöffnet, also als IPv4-Adresse. Dann wird aber versucht sich über IPv6 (AF_INET6) zu verbinden. Weia.
Zum Glück hatte ich schon das Fenster gesehen, an dem man da drehen konnte. Also von "localhost" auf 127.0.0.1 geändert und.. WTF? Irgendwie schienen meine Eingaben etwas seltsam zwischen den Eingabefeldern verschoben. Tippte ich passierte gar nichts. Klickte ich auf das nächste Feld erschien der getippte Text dort. Tollerweise nicht dauerhaft reproduzierbar, so dass ich es irgendwann dann doch geschafft habe. Nach einem Neustart funktioniert das dann wieder nicht. Wird mich wohl noch eine Weile beschäftigen der Mist.