Digital > Fefes Blog 2.0 > a5fe5dcb
  Leserreporter: Wer schöne Verschwörungslinks für mich hat: ab an felix-bloginput (at) fefe.de!
[zurück][ältere Posting][neuere Posting]  Samstag, 19 Mai 2018 | Blog: 6 | No: 40869     feed-image

Kennt sich hier zufällig jemand mit X11-Programmierung aus?

Kennt sich hier zufällig jemand mit X11-Programmierung aus? Ich habe ein Problem, von dem ich nicht weiß, wie man sowas debugged. Ich starte ein gvim (x86_64-linux), minimiere das Fenster, und wenn das Icon dann das nächste Mal den Fokus kriegt, ranzt gvim mit
BadMatch (invalid parameter attributes)
Vim: Got X error
Vim: Finished.
ab. Ich habe den vim-Leuten einen Bug gemeldet, aber die konnten das auf ihren 32-bit-Systemen nicht nachvollziehen. Das scheint auch nur mit gtk+3 aufzutreten. Mein Verständnis von X11 ist, dass die Fehlermeldung asynchron reinkommt. Früher konnte man per Environment-Variable die Verarbeitung von asynchron auf synchron umstellen und dann kracht es direkt bei der Operation, die den Fehler verursacht. Das scheint aber nicht mehr zu gehen. Und jetzt weiß ich nicht, wie man sowas am geschicktesten debuggen würde. Falls das jemand weiß, würde ich mich über eine Mail freuen.

Update: Es kamen mehrere Tipps rein. Eine Empfehlung war xtrace, aber das hat bei mir zwar gvim gestartet aber keinen Trace ausgegeben. Eine andere Empfehlung war xtruss, damit kommt gvim aber gar nicht erst richtig hoch sondern failed mit einer "not supported" GDK-Fehlermeldung irgendwo wegen Shared Memory nehme ich an. Dann empfahl jemand xscope, und damit habe ich in der Tat einen Dump extrahiert gekriegt. In dem Dump sieht man, dass der X-Server dem gvim einen ungültigen Event-Typen zurückliefert. Ich vermute, dass das von fvwm kommt. Um diese Hypothese zu testen, habe ich twm genommen, wo das nicht passiert, aber twm unterstützt auch keine pixmaps mit Transparenz, also habe ich auch nochmal jwm installiert, und damit geht Minimieren und Restaurieren von gvim. Ich glaube jetzt also, dass das ein fvwm-Bug ist und habe bei denen einen Bug gefiled. Danke für die Hilfe!

Update: Oh und ich habe rausgefunden, dass man per gdb eine globale Variable setzen kann, um aus synchron zu schalten. Wenn ich das tue, tritt der Fehler nicht auf :-(

[zurück] [ältere Posting][neuere Posting]
[zurück] [ältere Posting][neuere Posting]

Fefes Latest Youtube Video Links