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

KitsuWhooaalkisg: I ran xrandr -s 640x480 on X running under valgrind without any clients, and it segfaulted08:17
KitsuWhooaon a card that only had corruption before08:17
KitsuWhooathis is just getting worse and worse :p08:17
KitsuWhooait doesn't segfault outside valgrind08:18
alkisgHeh08:19
alkisgDid valgring produce any helpful output on that segfault?08:19
KitsuWhooaI think it did but xterm doesn't have a buffer08:20
KitsuWhooaat least I don't think so08:20
KitsuWhooais it possible to set a custom terminal for epoptes?08:20
alkisgIf you're using the remote thing, it's screen, so you press Ctrl+[, then A, and you can scroll08:20
alkisg(GNU screen)08:20
KitsuWhooaOh it's ran under screen08:20
alkisgSry08:20
KitsuWhooaI tried ^B thinking it's tmux08:21
alkisgCtrl+A, then [08:21
KitsuWhooa:p08:21
KitsuWhooayeah08:21
KitsuWhooathanks08:21
alkisgnp08:21
KitsuWhooaI somehow broke it XD08:21
* KitsuWhooa runs man screen08:21
KitsuWhooait's definitely having update issues08:22
KitsuWhooaoh it's not a segfault08:28
KitsuWhooait's a sigabrt08:28
alkisgWhen does that happen? Double free()?08:29
KitsuWhooaIIRC when an invalid pointer is being accessed/dereferenced08:30
KitsuWhooacould be wrong08:30
* alkisg reads https://stackoverflow.com/questions/3413166/when-does-a-process-get-sigabrt-signal-6 ...08:30
KitsuWhooait seems to have been thrown by strdup in libdrm.so08:31
KitsuWhooathis is going well :p08:31
alkisgHaha08:31
alkisgYou're catching a lot of fishes with this issue :D08:31
KitsuWhooa<KitsuWhooa> IIRC when an invalid pointer is being accessed/dereferenced <-- nope, got it confused with sigbus08:32
KitsuWhooaway too many08:32
KitsuWhooaI see nouveau_vieux  in the backtrace08:33
KitsuWhooa"nouveau_vieux_dri.so is a classic Mesa DRI driver, and not a Gallium3D driver, because these cards do not have enough shader capabilities to reasonably support the Gallium3D infrastructure. "08:33
KitsuWhooa"Do not file bug reports about this driver. "08:33
alkisgIn the past I was adviced to "rm -f" it to work around some bugs in tnt2, and it did work around them, but in this case rm'ing it didn't help08:34
alkisg(I was adviced about it in #nouveau)08:34
KitsuWhooayeah, the original segfault backtrace doesn't contain it08:35
KitsuWhooaI wonder if it's valgrind's strdup that causes the abort08:39
KitsuWhooaeither way, it happens after I call xrandr to resize08:40
KitsuWhooaif you're curious, this is what gets thrown right after I call resize https://tasossah.com/txt/valgrind_x_resize08:42
alkisgKitsuWhooa: would that advice from the last line help? Use --track-origins=yes to see where uninitialised values come from08:50
KitsuWhooaI may do that later08:53
KitsuWhooaI deleted nouveau_vieux and it no longer crashes08:53
KitsuWhooabad news is I don't think valgrind printed anything while switching resolutions08:54
alkisgI think xrandr is correctly initializing the previously uninitialized variables, so I wouldn't expect valgrind to complain when using xrandr...09:01
KitsuWhooaI'd assume initializing them means "using" them09:02
KitsuWhooawhich is why I'd expect valgrind to complain09:02
KitsuWhooaAlso, the moment the mate session started, epoptes killed the remote terminal that ran mate-session, and the session died :p09:03
alkisgx=1 initializes x without reading its uninitialized value09:04
KitsuWhooaHm, fair enough I guess09:04
KitsuWhooaSo, I can start the session with and without xrandr and compare09:04
KitsuWhooabecause if I run xclock without the session running, it doesn't do double buffering and there's no corruption09:05
alkisgMaybe `caja -n` could reproduce it without a full session09:07
KitsuWhooaI doubt it, but I can try it09:08
KitsuWhooaSo, epoptes died and I can't open a remote shell09:09
KitsuWhooathe currently open one is stuck and won't respond to Ctrl C09:09
KitsuWhooaI can't switch to a VT because X won't release the keyboard09:09
KitsuWhooaand I don't think sysrq is enabled09:09
alkisgKitsuWhooa: if you're still seeing the client in epoptes, try executing from epoptes this command: sudo openvt bash09:11
KitsuWhooait's not seeing it09:11
alkisgEh, would need to reboot then :/09:11
KitsuWhooaI'll go update the squashfs image since I'm at it, then09:12
KitsuWhooait's getting annoying having to reinstall valgrind on every boot :p09:12
KitsuWhooacaja -n did nothing. It exited09:29
KitsuWhooaoh, compiz is installed09:30
KitsuWhooacompiz should do it09:30
KitsuWhooanope09:30
KitsuWhooaneither compton09:31
alkisgThe default display manager is marco09:31
KitsuWhooaAh09:32
KitsuWhooaeeeeyup09:32
KitsuWhooastarting marco did it09:32
KitsuWhooanow I'm looking at a very groovy corrupt glxgears :p09:32
alkisgHehe09:32
alkisgI think the following would make testing easier for you, in lts.conf: LDM_USERNAME=kitsu, LDM_PASSWORD=yourpass, LDM_GUESTLOGIN=True, LDM_SESSION=xterm.09:33
alkisgWith those, on the client login screen, you'd click "login" and you'd get xterm and an sshfs /home/kitsu mount to be able to copy things around.09:33
alkisgAnd from that xterm, you'd run marco or whatever else09:33
alkisg(a [Login as guest] button would appear with those vars)09:34
alkisg(which would log you in as kitsu, not as "guest")09:34
KitsuWhooaI'll have a look in a bit09:37
KitsuWhooathanks09:37
KitsuWhooaalkisg: I compared the valgrind output of starting marco with both double buffering enabled and disabled11:05
KitsuWhooait was completely identical11:05
KitsuWhooaI'll try with glxgears to see if I get anything else11:07
alkisgKitsuWhooa: valgrind marco, or valgrind xorg and then start marco?11:07
KitsuWhooathe latter11:08
alkisgAnd "double buffering disabled" means "pageflip off"?11:08
KitsuWhooayup11:09
alkisgHrm, I feel that's bad news, that valgrind can't help in this case...11:10
KitsuWhooanothing useful with glxgears either11:10
KitsuWhooahttps://tasossah.com/txt/marco_pageflip11:11
KitsuWhooathis is after X is done initialising and from the moment marco was started11:11
KitsuWhooanone of these look related to me11:11
alkisgWell if they're the same in both cases, when it works and when it doesn't... meh11:12
KitsuWhooayeah, they are11:13
alkisgKitsuWhooa: hmm would it be possible that it's actually a bug in marco and not in xorg? I mean, the one we're looking for...11:15
alkisgWould valgrind marco show it then?11:16
KitsuWhooaI really doubt it's a marco bug11:18
KitsuWhooain any case, marco shouldn't make X segfault with the Riva11:18
alkisgI mean, of course "somexorgfunction(bad parameters)" crashing would be a problem in both sides,11:18
alkisgbut if the problem of bad parameters is in marco, maybe that's the one we're looking for11:19
alkisgOther window managers might not send bad parameters and not make corruption/crashes11:19
KitsuWhooaif that was the case, the segfault would happen in the client handling code on X11:19
KitsuWhooanot exa11:19
alkisgI'm sure there's a problem in exa as well, but what I'm saying is, what if marco sends bad parameters and then exa can't handle them?11:20
alkisgin its server side code?11:20
* alkisg wonders if its reproducible with any other manager11:21
alkisgmarco --no-composite, compiz, compton...11:21
KitsuWhooadidn't happen with compiz and compton, but I think it's because they didn't enable double buffering11:22
alkisgIt would also explain why it's not mentioned widely on the internet, since marco only has a limited number of users...11:23
KitsuWhooamaybe with ccsm11:23
KitsuWhooahm11:23
alkisgI'm about to leave the office, but I'll test tomorrow if it happens e.g. in gnome11:24
KitsuWhooamutter?11:24
alkisgYeah11:24
alkisg(if you have enough ram, you could also just install it on the live client)11:25
KitsuWhooaI don't sadly11:25
KitsuWhooabut I don't think mutter would run well, if at all on something this old11:25
KitsuWhooamight fall back to software rendering11:25
alkisgI'll try to remember which school had the problem with a geforce 210, and test with that one...11:26
* alkisg waves for now, bbl...11:26
KitsuWhooasee ya11:26
mamarleyricotz: I tried to package the 410.57 driver but it has major problems.  The computer boots to the (KDE) desktop, but if I launch any application that uses OpenGL, EGL, or Vulkan, it hangs immediately and permanently in disk sleep.11:58
mamarleyI think it might have something to do with the fact that the old libglx.so.XXX.XX is gone and replaced with libglxserver_nvidia.so.XXX.XX.  It looks like they might have done something with GLVND.  I will see if I can figure it out.11:59
ricotzmamarley, hi, thanks :) (quite a version bump)12:01
tjaaltonserverside glvnd12:09
tjaaltonneeds 1.20 most likely12:09
tseliotyes, that file if for server-side GLVND, it's in their docs12:14
mamarleyAh, thanks!12:24
* mamarley wishes they would have a "packager's changelog" that would document changes like that and list the new libraries that were included.12:24
mamarleytseliot: Where in the docs?  It isn't obvious and it also isn't searchable.12:36
tseliotmamarley: if you extract the installer, and look in html/installedcomponents.html , you will see a line about libglxserver_nvidia.so12:40
mamarleyOh, I didn't realize that the documentation was extracted from the installer too, I thought it was just in https://download.nvidia.com/XFree86/Linux-x86_64/410.57/README/.12:40
* mamarley beats himself with the cluestick.12:41
tseliothaha12:44
* tseliot hopes NVIDIA will put libglx.so.$version back into the 410 release12:45
mamarleytseliot: If you don't mind my asking, where do you get this inside information?12:46
tseliotmamarley: what inside information?12:46
mamarleytseliot: You already seemed to know about this server-side GLVND thing before it happened.12:47
tjaaltonit was bound to happen12:47
tjaaltonnvidia added it to the server12:47
tjaaltonso now they're finally using it12:47
tjaaltonnot that 1.20 is particularly old12:48
tseliotmamarley: I simply tried to package the new release, and noticed the lack of the libglx.so.$ver file, so I had a look at the docs12:48
mamarleyAaaand, it looks like the computer I was using for the packaging (and the only computer I have that can run the 410 drivers) hung when I tried to reboot it.  And I'm not there, so it looks like I won't be able to do anything else until I can get back home a hit the reset button. :(12:49
mamarleyOh wait, it finally time out and rebooted.12:50
mamarleytseliot: It still isn't working right.  When I moved the libglxserver_nvidia.so.410.57 file to /usr/lib/xorg/modules/extensions/ as specified in the documentation, X completely ignored the NVIDIA card and instead used the integrated graphics card (which doesn't even have a monitor attached).13:02
tseliotmamarley: are you on 18.10?13:02
tseliotor are you running xserver 1.20, somehow?13:03
mamarleytseliot: Yes.13:06
tjaaltonmmm, beta ;)13:06
tseliotmamarley: do you have an X log I can have a look at?13:07
mamarleytseliot: Sure, just a sec.13:07
mamarleytseliot: https://paste.ubuntu.com/p/rW3Jcqth6C/13:08
mamarleyIt looks like it might be ignoring the NVIDIA driver (presumably because libglx.so is missing out of /usr/lib/x86_64-linux-gnu/nvidia/xorg/ ?)13:09
tjaaltonI wonder if the server is actually built with glvnd support..13:10
mamarleyHmm, good point.13:10
mamarleyThe GLVND build dependencies are installed when the server is built, but there isn't anything containing "glvnd" in the actual build log.13:12
tjaaltonno, but glxvnd is13:13
* mamarley beats himself with the cluestick again.13:13
tjaaltonsomething needed in the config snippet?13:15
tseliotwas libglxvnd actually built?13:15
tjaaltonit's not a separate lib13:16
tjaaltonfrom what I can tell13:16
tjaaltondoes the doc have anything about it13:19
tjaalton?13:19
mamarleyJust where the libglxserver file should be installed, as far as I can tell.13:19
mamarleyIt would appear as if Phoronix has benchmarks of the 410 driver running on 18.04.  I wonder how they did that?13:27
tjaaltonweird13:39
tseliotmamarley: that's not really documented in X... anyway, did you create libglxserver_nvidia.so, which points to the nvidia library?13:40
tseliotBTW, I'm going to test this when I get back home, next week13:41
tjaaltonmamarley: it doesn't show anywhere that the nvidia driver is loaded13:54
tjaaltonthe logfile13:55
tjaaltonwhat's in xorg.conf?13:55
soee_https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-410.57-Beta-Released14:13
mamarleysoee_: Yeah, we were just talking about that.  It is being rather difficult to package.  Stay tuned…14:26
soee_mamarley: they chnage a lot ?14:28
mamarleyThey changed a little thing that is causing a big problem.14:29
mamarleytjaalton: Not much in xorg.conf, just a few lines to hardcode which monitor outputs are enabled since my monitors have a habit of crashing at inopportune times and the resulting hotplug events have historically screwed up the desktop configuration.  I may not need that anymore though.14:34
tjaaltonit's weird that the log doesn't even mention nvidia.. is it a hybrid?14:35
mamarleytjaalton: Nope, it is a desktop.  I just have the Intel GPU enabled so I can use it for hardware video transcoding (it doesn't have the 2-stream limit that GeForce GPUs do).14:36
tjaaltonha14:36
tjaaltonok, surprised that it works 14:37
tjaaltonor had worked14:37
mamarleytjaalton: That what works, the transcoding?  The program I am using uses the DRM interface, not the X interface.14:39
tjaaltonok, well it does make it harder to debug :)14:41
tjaaltonat least confuses me14:41
mamarleytjaalton: Well, with both the original libglxserver_nvidia.so and the symlink in /usr/lib/xorg/modules/extensions, it uses the NVIDIA card correctly and OpenGL applications work, but EGL and Vulkan applications still hang in disk sleep.  I am checking what happens with the files in /usr/lib/x86_64-linux-gnu/nvidia/xorg/.14:42
tjaaltonah14:44
mamarleyDisk sleep is the most annoying process state in the entirety of UNIX.14:46
mamarleytjaalton: With the files in /usr/lib/x86_64-linux-gnu/nvidia/xorg/, OpenGL and Vulkan work but EGL hangs.14:51
tjaaltonk14:53
tjaaltonbeta.. :)14:53
=== JanC_ is now known as JanC

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