Logs: liberachat/#haskell
| 2021-06-12 21:23:18 | <dminuoso> | aerkenemesis: Mmm, with cabal the bug triggers direclty on building lib/Language/Leash/Ast.hs, |
| 2021-06-12 21:23:32 | <dminuoso> | Judging from the symbol name, its the call to makeBaseFunctor |
| 2021-06-12 21:23:37 | <dminuoso> | (or splice, rather) |
| 2021-06-12 21:24:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-06-12 21:24:44 | dmwit_ | is now known as dmwit |
| 2021-06-12 21:26:18 | <dminuoso> | aerkenemesis: and it seems to triggers right around adding -prof to ghc |
| 2021-06-12 21:26:40 | <DigitalKiwi> | a lot of the linked issues say w/e was supposedly fixed in 8.4.x ... regression? |
| 2021-06-12 21:27:00 | <aerkenemesis> | I can't see any evidence of profiling being enabled in the nix build though |
| 2021-06-12 21:27:15 | <dminuoso> | aerkenemesis: I got a workaround. |
| 2021-06-12 21:27:22 | <dminuoso> | aerkenemesis: Add {-# OPTIONS_GHC -fno-prof-auto #-} on Ast.hs |
| 2021-06-12 21:27:24 | <aerkenemesis> | DigitalKiwi I could try to back off to 8.3 |
| 2021-06-12 21:27:26 | <dminuoso> | Oh wait. |
| 2021-06-12 21:27:28 | <aerkenemesis> | 8.4* |
| 2021-06-12 21:27:31 | <dminuoso> | No. mmm |
| 2021-06-12 21:27:53 | <DigitalKiwi> | https://gitlab.haskell.org/ghc/ghc/-/issues/14931 |
| 2021-06-12 21:28:00 | <dminuoso> | aerkenemesis: https://gitlab.haskell.org/ghc/ghc/-/issues/18320 |
| 2021-06-12 21:28:05 | <dminuoso> | This is the correct bug report |
| 2021-06-12 21:28:08 | → | allbery_b joins (~geekosaur@069-135-003-034.biz.spectrum.com) |
| 2021-06-12 21:28:35 | <DigitalKiwi> | 8.4.2 to be safe i guess lol |
| 2021-06-12 21:28:52 | <DigitalKiwi> | https://gitlab.haskell.org/ghc/ghc/-/issues/14705 |
| 2021-06-12 21:30:57 | <aerkenemesis> | I tried the `-fno-prof-auto` trick, even put it globally in the cabal file, didn't work |
| 2021-06-12 21:31:03 | × | slack1256 quits (~slack1256@181.203.57.171) (Remote host closed the connection) |
| 2021-06-12 21:31:18 | <aerkenemesis> | I'mma try and find a nixpkgs release that has ghc 8.4.2 and try that |
| 2021-06-12 21:31:21 | <dminuoso> | aerkenemesis: Go file a bug report. This myriad of related bug reports suggests there's a deeper issue here. |
| 2021-06-12 21:31:35 | <dminuoso> | I can reproduce on 8.8.1 at least |
| 2021-06-12 21:31:39 | <aerkenemesis> | dminuoso I will |
| 2021-06-12 21:31:43 | × | geekosaur quits (~geekosaur@069-135-003-034.biz.spectrum.com) (Ping timeout: 272 seconds) |
| 2021-06-12 21:31:51 | allbery_b | is now known as geekosaur |
| 2021-06-12 21:32:03 | <dminuoso> | aerkenemesis: Like it has been pointed out by Ryan in one issue, its not even about -fprof-auto, mere -prof triggers it |
| 2021-06-12 21:32:09 | <dminuoso> | you can verify by |
| 2021-06-12 21:32:17 | <dminuoso> | run `cabal -v build --enable-library-profiling` |
| 2021-06-12 21:32:30 | <dminuoso> | copy the command, and just strip the two profiling flags, it will build. add -prof back in, it breaks |
| 2021-06-12 21:34:52 | × | amahl quits (~amahl@87-95-128-122.bb.dnainternet.fi) (Remote host closed the connection) |
| 2021-06-12 21:35:00 | → | waleee joins (~waleee@h-98-128-228-119.NA.cust.bahnhof.se) |
| 2021-06-12 21:35:09 | <geekosaur> | yes, I assumed this bug because it's somewhat hard to fix at present; TH doesn't sufficiently differentiate between build time and run time |
| 2021-06-12 21:35:14 | <dminuoso> | aerkenemesis: as a hotfix, you can patch up the callCabal2nix generated derivation to remove that configure flag |
| 2021-06-12 21:35:16 | <geekosaur> | (this also affects cross compilation) |
| 2021-06-12 21:35:37 | → | Lycurgus joins (~juan@cpe-45-46-140-49.buffalo.res.rr.com) |
| 2021-06-12 21:36:04 | <dminuoso> | overrideCabal drv (drv: { enableLibraryProfiling = false; }); |
| 2021-06-12 21:36:07 | <dminuoso> | ought to do the trick |
| 2021-06-12 21:36:09 | <geekosaur> | so it tries to find a symbol from a profiling library instead of the normal one it's passed, iirc |
| 2021-06-12 21:36:32 | <geekosaur> | or possibly the other way around since the TH env supposedly shouldn't need profiling |
| 2021-06-12 21:37:15 | <aerkenemesis> | I added to that already existing bug report |
| 2021-06-12 21:37:18 | <janus> | hmm i would like a notification when those linked open issues are fixed, but the "notifications" slider is somehow disabled ... |
| 2021-06-12 21:37:22 | <aerkenemesis> | https://gitlab.haskell.org/ghc/ghc/-/issues/18320 |
| 2021-06-12 21:37:47 | <dminuoso> | aerkenemesis: Let me know if overriding the derivation like that works. |
| 2021-06-12 21:38:04 | <DigitalKiwi> | nix-env -f channel:nixos-20.03 -qaP -A haskell.compiler has 8.4.4 |
| 2021-06-12 21:39:36 | <dminuoso> | geekosaur: Wouldn't that suggest that TH splices never work if spliced into a library built with profiling enabled? |
| 2021-06-12 21:39:51 | <DigitalKiwi> | just like in case it helps no idea if it does or not >.> |
| 2021-06-12 21:39:52 | → | haltux joins (~haltux@a89-154-181-47.cpe.netcabo.pt) |
| 2021-06-12 21:40:11 | <geekosaur> | *and* there's no profiling version of a dependency from which a spliced symbol comes |
| 2021-06-12 21:40:28 | <aerkenemesis> | dminuoso that did indeed work |
| 2021-06-12 21:40:52 | <geekosaur> | which is probably rare these days since both cabal and stack normally build profiling versions of dependencies too |
| 2021-06-12 21:41:23 | <dminuoso> | aerkenemesis: Cute project idea by the way. Do you have a more comprehensive description of the language somewhere? |
| 2021-06-12 21:42:08 | <aerkenemesis> | dminuoso the readme is horribly out of date, but I suggest you look at the test/*.bats files |
| 2021-06-12 21:42:40 | <geekosaur> | that said, the bug report aerkenemesis linked suggested a slightly different etiology (then again, not that different, instead of wrong library it's missing direct function witout profiling wrapper or something similar) |
| 2021-06-12 21:43:12 | <dminuoso> | geekosaur: Heh, I can see fingers being pointed at cabal already. |
| 2021-06-12 21:43:14 | <aerkenemesis> | I've kept it hidden away from the public because it's not usable yet, I only opened it up for this ghc bug :D |
| 2021-06-12 21:43:41 | <dminuoso> | geekosaur: In the sense that it's cabals job to provide all the needed library flavors to the linker. |
| 2021-06-12 21:44:22 | <geekosaur> | that wpould apply if it were exactly what the error message claimed (missing dependency library) |
| 2021-06-12 21:44:26 | <dminuoso> | I recall some other similar issues where in certain situations quasiquoter splices with external FFI used in the quasiquoter source module lead to linker errors |
| 2021-06-12 21:44:41 | <geekosaur> | but instead it's a wrong symbol so that points at ghc instead of cabal because symbols aren't up to cabal |
| 2021-06-12 21:44:54 | <dminuoso> | mmm |
| 2021-06-12 21:44:54 | <geekosaur> | (well, hashes are but this isn't part of a hash) |
| 2021-06-12 21:45:03 | <DigitalKiwi> | as someone who mostly writes bash because i'm not good enough at haskell to do what i want as quickly i'm a fan ;p |
| 2021-06-12 21:45:18 | → | chisui joins (~chisui@200116b8666c8300b41cb8c96969b3fb.dip.versatel-1u1.de) |
| 2021-06-12 21:45:40 | <geekosaur> | it also rules out nix except as a source of the profiling flag that triggers the bug |
| 2021-06-12 21:46:36 | <dminuoso> | geekosaur: We ruled out nix by fact of triggering this bug outside of nix. :) |
| 2021-06-12 21:46:55 | <geekosaur> | you had to specify the profiling flag yourself though, didn't you? |
| 2021-06-12 21:46:59 | <dminuoso> | Yeah. |
| 2021-06-12 21:47:08 | <geekosaur> | so where's it coming from in the nix case? |
| 2021-06-12 21:47:25 | <sshine> | I want to model a language that has uint8, uint16, uint24, ..., uint256, and int8, ..., int256. on the one hand, I want to focus on ergonomics, so having UInt8 as a data constructor. on the other hand, that leads to some annoying repetition. I thought of creating an Enum type and have 'UInt Bits8_256 | Int Bits8_256' and create pattern aliases for convenience... does the amount of constructors impair |
| 2021-06-12 21:47:28 | <dminuoso> | nix automatically builds profiling libraries by default unless you specify otherwise |
| 2021-06-12 21:47:31 | <sshine> | performance (an Enum with 32 values) vs. simply using integers? |
| 2021-06-12 21:47:34 | <DigitalKiwi> | haskell4nix |
| 2021-06-12 21:48:05 | <aerkenemesis> | geekosaur dminuoso figured out that library profiling have to be explicitly disabled with callCabal2Nix |
| 2021-06-12 21:49:42 | <dminuoso> | aerkenemesis: oh you can also use `disableLibraryProfiling` directly, no need to manually fiddle around with overrideCabal :) |
| 2021-06-12 21:49:56 | <aerkenemesis> | If you're interested the diff for the fix is here https://pastebin.com/A5Hq2Nub |
| 2021-06-12 21:50:13 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 2021-06-12 21:50:31 | <dminuoso> | (i.e. pkgs.haskell.lib.disableLibraryProfiling) |
| 2021-06-12 21:50:33 | <dminuoso> | Looks a bit nicer :0 |
| 2021-06-12 21:51:11 | <aerkenemesis> | right, I'll have to look at what the options are. Thanks a ton for the help though, the project moves on again :) |
| 2021-06-12 21:51:27 | <aerkenemesis> | and hopefully some pressure on the GHC team to fix this issue |
| 2021-06-12 21:51:38 | <DigitalKiwi> | plz don't make me go to pastebin dot com ;( |
| 2021-06-12 21:51:51 | <aerkenemesis> | haha, what's what the cool kids use these days? |
| 2021-06-12 21:52:03 | <dminuoso> | @where paste |
| 2021-06-12 21:52:03 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 2021-06-12 21:52:03 | geekosaur | has an extension that forces the raw link for pastebin |
| 2021-06-12 21:52:04 | <aerkenemesis> | I realize I could just have linked my gitlab commit |
| 2021-06-12 21:52:22 | → | pkkm joins (~pkkm@dgs4.neoplus.adsl.tpnet.pl) |
| 2021-06-12 21:52:25 | <dminuoso> | aerkenemesis: Of course that will not work if you disable access to your gitlab project again. |
| 2021-06-12 21:52:27 | <dminuoso> | ;) |
| 2021-06-12 21:52:35 | <DigitalKiwi> | https://mostlyabsurd.com/files/2021-06-12-215207_904x1430_scrot.png |
| 2021-06-12 21:52:40 | <aerkenemesis> | I'll keep it open for the sake of the bug report :D |
| 2021-06-12 21:53:41 | × | boxscape quits (~boxscape@user/boxscape) (Quit: Connection closed) |
| 2021-06-12 21:53:59 | × | ozataman quits (~ozataman@71.190.112.58) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 2021-06-12 21:54:08 | → | boxscape joins (~boxscape@user/boxscape) |
| 2021-06-12 21:54:19 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 2021-06-12 21:54:45 | <geekosaur> | https://github.com/jperkin/pastebin-raw-text |
| 2021-06-12 21:55:02 | <geekosaur> | for chrome, no idea about firefox equivalent |
All times are in UTC.