Logs: liberachat/#xmonad
| 2025-02-06 22:44:31 | <ectospasm> | OK |
| 2025-02-06 22:44:44 | <geekosaur> | (leave the `xmonad` obviously, we just don't want .xinitrc to replace itself with xmonad and not run the diagnostic line) |
| 2025-02-06 22:54:13 | <ectospasm> | Yep, so it's exit status 139, and here's the output of .Xsession-errors: https://paste.rs/gdJwA |
| 2025-02-06 22:54:26 | <ectospasm> | So xmonad is dumping core, I just don't know where the core file is. |
| 2025-02-06 22:55:15 | <geekosaur> | unless you're doing something weird in .xinitrc it's $HOME |
| 2025-02-06 22:55:21 | <geekosaur> | xmonad itself doesn't change directory |
| 2025-02-06 23:00:21 | <ectospasm> | Hmmm, do you know what the core dump might be named? I'm running `ls -altr`, so I figured the latest files (including the core dump) would be near the bottom. |
| 2025-02-06 23:00:37 | <ectospasm> | I also don't find anything with 'core' or 'dump' in the filename. |
| 2025-02-06 23:07:59 | <geekosaur> | it should just be `core` |
| 2025-02-06 23:08:52 | <ectospasm> | according to this: https://wiki.archlinux.org/title/Core_dump#Where_do_they_go?, they're in /var/lib/systemd/coredump/. Sure enough, there's a bunch in there for xmonad. |
| 2025-02-06 23:08:53 | <geekosaur> | possibly `core.somenumber` (which would be the pid) |
| 2025-02-06 23:09:07 | <geekosaur> | ah, so they do play sysctl games |
| 2025-02-06 23:09:20 | <ectospasm> | It appears so. |
| 2025-02-06 23:09:38 | <ectospasm> | Seems it's tied into systemd, which I appreciate. |
| 2025-02-06 23:09:45 | <ectospasm> | (I'm a fan of systemd) |
| 2025-02-06 23:09:52 | <ectospasm> | Or an apologist, if you will. |
| 2025-02-06 23:10:03 | <ectospasm> | But not here to talk about that. |
| 2025-02-06 23:10:40 | <ectospasm> | So, I'm a bit apprehensive about sharing that core dump. Any hints on how to review it? This is starting to get beyond my skillset (if using XMonad wasn't already) |
| 2025-02-06 23:12:53 | <geekosaur> | `gdb /path/to/xmonad-x86_64-linux /path/to/coredump` then `bt` |
| 2025-02-06 23:13:23 | <geekosaur> | but I'm not sure it'll be helpful, Haskell backtraces are wonky to start with and it's almost certainly built without debug information |
| 2025-02-06 23:13:39 | <geekosaur> | but if it's in an FFI call then it should at least show that |
| 2025-02-06 23:13:47 | <ectospasm> | FFI? |
| 2025-02-06 23:15:21 | <geekosaur> | foreign function interface |
| 2025-02-06 23:15:41 | <geekosaur> | we call out to C functions for practically everything, from X server calls, fonts, etc. |
| 2025-02-06 23:19:11 | <ectospasm> | OK |
| 2025-02-06 23:19:22 | <ectospasm> | Yeah, this uses coredumpctl to analyze core dumps. |
| 2025-02-06 23:19:32 | <ectospasm> | I may need to build XMonad with debugging symbols |
| 2025-02-06 23:20:36 | <ectospasm> | Also, I should probably not rebuild xmonad before launching it again while I'm trying to debug this (`coredumpctl debug` posted a message saying the executable may not match the core dump, which makes sense since I recompiled it after the dump was produced) |
| 2025-02-06 23:21:31 | <ectospasm> | I guess everything linked to it would need debugging symbols as well, not just the Haskell/XMonad bits. |
| 2025-02-06 23:21:47 | <ectospasm> | In case it's something outside of XMonad causing this. |
| 2025-02-06 23:22:26 | <ectospasm> | I suspect libXft if I had to hazard a guess, since I can't reproduce the behavior if I change the references to 'xft' in xmonad.hs to 'pango'. |
| 2025-02-06 23:23:14 | <geekosaur> | most things will have external debug symbols, although you may need to install them with pacman |
| 2025-02-06 23:23:48 | <ectospasm> | Yep. |
| 2025-02-06 23:35:46 | <ectospasm> | Is there a way for me to build the debugging symbols for the XMonad executable I build? |
| 2025-02-06 23:36:01 | <ectospasm> | It looks like coredumpctl is getting the debug symbols for everything else. |
| 2025-02-06 23:36:11 | <ectospasm> | Or at least it appears that way. |
| 2025-02-06 23:36:16 | <geekosaur> | I think you'd have to set up a build script |
| 2025-02-06 23:37:01 | <ectospasm> | Yep, I see output that I don't have anything like that set up when I do recompile it. |
| 2025-02-06 23:37:21 | <ectospasm> | Any guides on where I can set that up quickly? |
| 2025-02-06 23:39:13 | <ectospasm> | OK, so coredumpctl debug finally finished loading everything, and I see this: warning: 1491 XMonad/Prompt.hs: No such file or directory |
| 2025-02-06 23:39:27 | <ectospasm> | So it looks like I'm missing something. I wonder why it compiles? |
| 2025-02-06 23:39:48 | <ectospasm> | That's before I built debugging symbols. |
| 2025-02-06 23:41:12 | <geekosaur> | https://paste.tomsmeding.com/lkiSFKKs put this in a file called "build" in the same directory as xmonad.hs, and "chmod +x build" |
| 2025-02-06 23:41:59 | <geekosaur> | you don't have source files installed, only object files and HI files |
| 2025-02-06 23:42:09 | <geekosaur> | which are all you need to build |
| 2025-02-07 00:02:16 | × | zawaken quits (~zawaken@user/zawaken) (Quit: ZNC - https://znc.in) |
| 2025-02-07 00:05:47 | → | zawaken joins (~zawaken@user/zawaken) |
| 2025-02-07 00:14:36 | <ectospasm> | Yeah, that build causes the compile to throw a bunch of errors, since ghc on Arch isn't set up properly. I guess this is why it's always recommended to build xmonad with cabal, but I don't want to go that route right now. |
| 2025-02-07 00:15:18 | <ectospasm> | This seems very Arch specific now that I think of it. I'll see if I can get any headway in #archlinux. |
| 2025-02-07 00:15:35 | <ectospasm> | But at least I now know how to look at the core dump in Arch. |
| 2025-02-07 00:15:58 | <geekosaur> | oh, right, forgot Arch needs `-dynamic` in there too |
| 2025-02-07 00:16:13 | <ectospasm> | Does it matter where it goes in that ghc line? |
| 2025-02-07 00:16:24 | <geekosaur> | not very much |
| 2025-02-07 00:16:33 | <geekosaur> | just put it right after `ghc` |
| 2025-02-07 00:17:19 | <ectospasm> | OK |
| 2025-02-07 03:01:36 | <ectospasm> | Sorry, had to go take care of my family, got a toddler and a newborn! |
| 2025-02-07 03:01:57 | <ectospasm> | So here's the complete backtrace of the XMonad crash: https://paste.rs/AzLvB |
| 2025-02-07 03:02:21 | <ectospasm> | My guess is XMonad/Prompt.hs is looking for a font I no longer have, or the way to refer to it has changed. |
| 2025-02-07 03:03:17 | <ectospasm> | Unfortunately it doesn't say what file it can't find, unless it's XMonad/Prompt.hs itself. But it refers to other lines in that backtrace (I assume the top is the first thing on the stack, the last thing added?) |
| 2025-02-07 03:15:07 | <geekosaur> | that one is, as I said earlier, because Arch doesn't install source code to go with the libraries it installs |
| 2025-02-07 03:15:19 | <geekosaur> | but it's not related to fonts |
| 2025-02-07 03:16:26 | <geekosaur> | it's in defaultXPKeymap |
| 2025-02-07 03:16:45 | <geekosaur> | unfortunately you came back right as I was about to go to bed |
| 2025-02-07 03:17:24 | <ectospasm> | No worries. I wonder if I deleted something while I was trying to fix it earlier, and it just so happens to compile |
| 2025-02-07 03:17:45 | <ectospasm> | That xmonad.hs on my Git repo is old. Let me try restoring it and see if that fixes it. |
| 2025-02-07 03:18:02 | <geekosaur> | no, that is completely unrelated |
| 2025-02-07 03:19:40 | <geekosaur> | and it's not in defaultXPKeymap either, that's gdb not understandon ghc's debug info (there's an open bug about that) |
| 2025-02-07 03:19:45 | <geekosaur> | the crash is in drawWin, which is in a where clause of redrawWindows |
| 2025-02-07 03:20:05 | <geekosaur> | printPrompt pm |
| 2025-02-07 03:20:41 | <geekosaur> | either that line itself (which seems unlikely) or the fillDrawable just above it (which seems much more likely) |
| 2025-02-07 03:23:13 | <geekosaur> | unless printPrompt is being inlined, hm. but I can't really look any more deeply into this tonight |
| 2025-02-07 03:25:01 | <ectospasm> | OK, thanks! We'll pick this back up tomorrow, if I'm available. |
| 2025-02-07 03:51:02 | × | alp__ quits (~alp@2001:861:8ca0:4940:c852:f016:ee1c:5cf) (Remote host closed the connection) |
| 2025-02-07 03:51:20 | → | alp__ joins (~alp@2001:861:8ca0:4940:7350:41fe:ef34:5f0f) |
| 2025-02-07 03:52:43 | × | alp__ quits (~alp@2001:861:8ca0:4940:7350:41fe:ef34:5f0f) (Remote host closed the connection) |
| 2025-02-07 03:53:01 | → | alp__ joins (~alp@2001:861:8ca0:4940:eaf7:425c:a3f4:9d66) |
| 2025-02-07 03:54:25 | × | alp__ quits (~alp@2001:861:8ca0:4940:eaf7:425c:a3f4:9d66) (Remote host closed the connection) |
| 2025-02-07 03:54:43 | → | alp__ joins (~alp@2001:861:8ca0:4940:569c:57b4:f240:3d2b) |
| 2025-02-07 03:56:06 | × | alp__ quits (~alp@2001:861:8ca0:4940:569c:57b4:f240:3d2b) (Remote host closed the connection) |
| 2025-02-07 03:56:24 | → | alp__ joins (~alp@2001:861:8ca0:4940:e670:d145:9f1b:674) |
| 2025-02-07 03:57:48 | × | alp__ quits (~alp@2001:861:8ca0:4940:e670:d145:9f1b:674) (Remote host closed the connection) |
| 2025-02-07 03:58:06 | → | alp__ joins (~alp@2001:861:8ca0:4940:5024:ff7b:ce1f:1128) |
| 2025-02-07 03:59:31 | × | alp__ quits (~alp@2001:861:8ca0:4940:5024:ff7b:ce1f:1128) (Remote host closed the connection) |
| 2025-02-07 03:59:49 | → | alp__ joins (~alp@2001:861:8ca0:4940:e025:f618:6016:7d8a) |
| 2025-02-07 04:01:13 | × | alp__ quits (~alp@2001:861:8ca0:4940:e025:f618:6016:7d8a) (Remote host closed the connection) |
| 2025-02-07 04:01:31 | → | alp__ joins (~alp@2001:861:8ca0:4940:cb5b:ce0e:5074:ffb7) |
| 2025-02-07 04:03:13 | → | alp_ joins (~alp@2001:861:8ca0:4940:c426:72e5:a4bc:f323) |
| 2025-02-07 04:04:38 | × | alp_ quits (~alp@2001:861:8ca0:4940:c426:72e5:a4bc:f323) (Remote host closed the connection) |
| 2025-02-07 04:04:55 | → | alp_ joins (~alp@2001:861:8ca0:4940:4256:492f:9aa8:cd35) |
| 2025-02-07 04:07:02 | × | alp__ quits (~alp@2001:861:8ca0:4940:cb5b:ce0e:5074:ffb7) (Ping timeout: 268 seconds) |
| 2025-02-07 04:09:53 | × | alp_ quits (~alp@2001:861:8ca0:4940:4256:492f:9aa8:cd35) (Ping timeout: 252 seconds) |
| 2025-02-07 04:10:45 | × | rekahsoft quits (~rekahsoft@bras-base-orllon1103w-grc-10-142-112-184-232.dsl.bell.ca) (Ping timeout: 276 seconds) |
| 2025-02-07 06:36:52 | × | gauge_ quits (~gauge@45.32.227.222) (Read error: Connection reset by peer) |
| 2025-02-07 06:38:39 | → | gauge joins (~gauge@user/gauge) |
| 2025-02-07 06:59:13 | → | ash3en joins (~Thunderbi@2a03:7846:b6eb:101:93ac:a90a:da67:f207) |
| 2025-02-07 07:17:56 | × | ft quits (~ft@p3e9bcd97.dip0.t-ipconnect.de) (Quit: leaving) |
| 2025-02-07 07:41:21 | → | mc47 joins (~yecinem@p200300ee0f18ab85e2b4bd425493f12c.dip0.t-ipconnect.de) |
| 2025-02-07 08:40:40 | × | redgloboli quits (~redglobol@user/redgloboli) (Quit: ...enter the matrix...) |
| 2025-02-07 08:42:18 | → | redgloboli joins (~redglobol@user/redgloboli) |
| 2025-02-07 09:31:40 | × | m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 244 seconds) |
All times are in UTC.