/srv/irclogs.ubuntu.com/2018/09/19/#ubuntu-x.txt

alkisgKitsuWhooa: hi, so, any idea where should we report this? To nouveau upstream? To xorg? To ubuntu?13:17
KitsuWhooaI'm still working on it13:17
alkisgAh great13:18
KitsuWhooabisecting goes from one bug to another13:18
alkisgBtw I haven't heard of any instability issues with pageflip off, from a lot of schools13:18
alkisgHaha13:18
KitsuWhooahttps://tasossah.com/s/126f55d9cdb3.jpg13:18
alkisgAre you trying on tnt2 with the segfault, or on the other ones with the corruption?13:19
KitsuWhooatnt213:19
KitsuWhooaLooking at the code through gdb, the issue is probably somewhere in DIX. It's a bit of a maze13:19
alkisgHmm, well, even if you fix the real issue that is the segfault, you wouldn't fix the issue that exposed the segfault, i.e. the lack of initialization somewhere, right?13:20
KitsuWhooaThat is exactly what I am trying not to do13:20
KitsuWhooaif I wanted to do that, I could add a check for a valid pointer, and if not return13:20
KitsuWhooabut I doubt that would work13:21
KitsuWhooanouveau calls this https://cgit.freedesktop.org/xorg/xserver/tree/exa/exa.c#n66 and this returns an invalid pointer13:23
KitsuWhooaand ExaPixmapPriv is a macro13:24
KitsuWhooawhich is here13:24
KitsuWhooahttps://cgit.freedesktop.org/xorg/xserver/tree/exa/exa_priv.h#n28313:24
KitsuWhooaand this in turn calls DIX functions/macros13:25
alkisgKitsuWhooa: would it be possible to do this? (1) dump vars (2) run xrandr 640x480; xrandr 1366x768; (3) dump vars13:56
alkisg(1) would be different from (3) in the vars that are not initialized13:56
KitsuWhooanot really13:56
KitsuWhooathe function gets called multiple times13:56
alkisgI'm not talking about the function13:57
alkisgSuppose xorg somewhere has a variabled named, I dont know, other_page_resolution13:57
alkisgAnd this in turn messes things up, and breaks where you see it, but you can't trace it back to the wrong initialization, 13:57
alkisgso, since xrandr does initialize that internal xorg variable, wouldn't comparing before/after help locate the uninitialized var?13:58
KitsuWhooaIf it's an uninitialized variable, I can probably use valgrind to detect it13:58
KitsuWhooadumping every single variable would be very impractical, if not impossible13:58
alkisgWell since 2 xrandr calls fix it, wouldn't that be the case?13:58
alkisgI haven't programmed in C/assembly in recent days, but in the old days, I could dump the whole data/stack etc segments and compare13:59
alkisgAnd then check the address in the linker to find the variable there...14:00
* alkisg googles about valgrind...14:00
KitsuWhooaif you go low level like that, possibly14:00
KitsuWhooabut due to the "refresh rate", you'd probably get a lot of false positives 14:01
alkisgWow, just as easy as "valigrind myprogram"? !14:03
KitsuWhooayup14:04
alkisgThat sounds too good!14:04
KitsuWhooaI just switched to one of the cards that have just corruption14:04
KitsuWhooaso let's see what valgrind says14:04
alkisgGreat14:04
KitsuWhooaalkisg: does epoptes-client restart whenever a user logs in?14:04
alkisgThere are 2 epoptes-client processes. The system one and the session one. The session one starts on login, so yeah.14:05
KitsuWhooaBecause I found that if I kill the one running already and run it manually from a tty, it doesn't kill the remote sessions14:05
alkisgYou can't kill epoptes (to avoid students doing so),14:05
KitsuWhooafrom a root vt?14:05
alkisgpkill -QUIT -U "$UID" -f '^epoptes-client$'14:05
alkisgThis sends it a QUIT signal, which it respects14:05
alkisgOtherwise it restarts14:05
KitsuWhooaI kill -9 its PID14:05
KitsuWhooaoops14:05
KitsuWhooait doesn't restart for me14:06
alkisgThere's a timeout in the restarting14:06
KitsuWhooaAh, I see14:06
alkisgSo you may start it 20 seconds later, and it might be restarted 60 seconds later, killing your "20 seconds later" instance14:06
* alkisg wants to simplify this now with systemd which supports restarting14:07
KitsuWhooait doesn't seem to kill it14:07
KitsuWhooaall I know is that I do that and I can use the shell across X restarts/crashes14:07
alkisgMake sure UID is defined14:08
alkisgEh, you should be able to use the root epoptes-client without restarting it14:08
alkisgIt survives xorg crashes14:08
KitsuWhooaOnce I am done with this I can probably tell you how to reproduce it14:08
KitsuWhooaand I checked stdout/err and it says nothing when it dies14:09
KitsuWhooasomething complains about socat dying14:09
KitsuWhooabut I don't think that's the cause14:09
alkisgBtw if it helps, you can also enable sshd on ltsp clients14:10
alkisgI never had that issue though, with root epoptes-client dying14:10
KitsuWhooait would help, but this ugly workaround seems to be okay so far14:10
KitsuWhooaso no need yet14:10
KitsuWhooawould also be nice if there was an easy file transfer option14:12
KitsuWhooaI just pipe tar to netcat at the moment14:12
KitsuWhooato send compiled binaries to clients14:12
KitsuWhooathat is a lot of uninitalised byte warnings14:14
alkisgI use python -m SimpleHTTPServer on the server, and wget server:8000/file on the clients, or scp14:19
alkisgor sshfs14:20
alkisgThere's also LOCAL_APPS_EXTRAMOUNTS=/some/folder in lts.conf, which sshfs's it for you on login14:20
alkisgOr you can login and /home/username is automounted, and put binaries there on the server, and run them on the client14:21
alkisg...the downside being that you need X to login :D14:21
KitsuWhooayeeeeah14:21
KitsuWhooawas about to say that there is nothing in /home/14:21
KitsuWhooaI don't see anything immediately related in the valgrind output14:27
=== mamarley_ is now known as mamarley

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!