Logs: liberachat/#haskell
| 2021-08-05 10:39:08 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 2021-08-05 10:44:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-08-05 10:44:38 | <[exa]> | mastarija: then it won't work if you only have functor in the typeclass right? |
| 2021-08-05 10:44:40 | → | PinealGlandOptic joins (~PinealGla@37.115.210.35) |
| 2021-08-05 10:45:00 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-05 10:45:34 | → | jgeerds joins (~jgeerds@55d45555.access.ecotel.net) |
| 2021-08-05 10:46:44 | × | hiruji quits (~hiruji@user/hiruji) (Ping timeout: 256 seconds) |
| 2021-08-05 10:47:31 | → | hiruji joins (~hiruji@user/hiruji) |
| 2021-08-05 10:50:15 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds) |
| 2021-08-05 10:50:48 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 2021-08-05 10:56:49 | × | dragestil_ quits (~quassel@user/dragestil) (Read error: Connection reset by peer) |
| 2021-08-05 11:00:20 | × | michalz quits (~michalz@185.246.204.33) (Ping timeout: 256 seconds) |
| 2021-08-05 11:06:42 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 240 seconds) |
| 2021-08-05 11:06:44 | × | hiruji quits (~hiruji@user/hiruji) (Ping timeout: 258 seconds) |
| 2021-08-05 11:09:20 | → | hiruji joins (~hiruji@user/hiruji) |
| 2021-08-05 11:09:58 | × | xff0x_ quits (~xff0x@2001:1a81:5296:aa00:31be:dd1b:a9d4:4976) (Ping timeout: 256 seconds) |
| 2021-08-05 11:10:45 | → | xff0x_ joins (~xff0x@port-92-195-48-93.dynamic.as20676.net) |
| 2021-08-05 11:13:52 | → | dragestil_ joins (~quassel@user/dragestil) |
| 2021-08-05 11:16:18 | × | mastarija quits (~mastarija@78-3-210-70.adsl.net.t-com.hr) (Ping timeout: 240 seconds) |
| 2021-08-05 11:18:24 | × | wei2912 quits (~wei2912@112.199.250.21) (Quit: Lost terminal) |
| 2021-08-05 11:19:23 | → | michalz joins (~michalz@185.246.204.37) |
| 2021-08-05 11:25:29 | × | jpds quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
| 2021-08-05 11:25:53 | → | jpds joins (~jpds@gateway/tor-sasl/jpds) |
| 2021-08-05 11:27:59 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 2021-08-05 11:31:28 | → | mastarija joins (~mastarija@78-3-210-70.adsl.net.t-com.hr) |
| 2021-08-05 11:32:31 | → | Vajb joins (~Vajb@n2bovg6licdnldblt-2.v6.elisa-mobile.fi) |
| 2021-08-05 11:32:49 | → | drd joins (~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) |
| 2021-08-05 11:34:07 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 2021-08-05 11:47:32 | × | hiruji quits (~hiruji@user/hiruji) (Ping timeout: 272 seconds) |
| 2021-08-05 11:48:32 | → | hiruji joins (~hiruji@user/hiruji) |
| 2021-08-05 11:52:57 | → | ubert joins (~Thunderbi@91.141.45.149.wireless.dyn.drei.com) |
| 2021-08-05 11:54:33 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 2021-08-05 11:57:50 | × | pe200012 quits (~pe200012@113.105.10.33) (Remote host closed the connection) |
| 2021-08-05 11:58:04 | × | ubert quits (~Thunderbi@91.141.45.149.wireless.dyn.drei.com) (Remote host closed the connection) |
| 2021-08-05 11:58:16 | → | pe200012 joins (~pe200012@113.105.10.33) |
| 2021-08-05 11:58:56 | → | oxide joins (~lambda@user/oxide) |
| 2021-08-05 12:01:10 | × | slavaqq quits (~slavaqq@sdmail.sdserver.cz) (Ping timeout: 246 seconds) |
| 2021-08-05 12:01:33 | × | Obo quits (~roberto@70.pool90-171-81.dynamic.orange.es) (Ping timeout: 258 seconds) |
| 2021-08-05 12:02:13 | → | Pickchea joins (~private@user/pickchea) |
| 2021-08-05 12:07:04 | → | mikoto-chan joins (~mikoto-ch@ip-193-121-10-50.dsl.scarlet.be) |
| 2021-08-05 12:07:14 | → | sim590 joins (~simon@modemcable090.207-203-24.mc.videotron.ca) |
| 2021-08-05 12:07:23 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 2021-08-05 12:07:29 | <guibou-> | I do have an `internal error: evacuate: strange closure type 2145043133` sometime when running a process. Sometime it is a segfault, and gdb shows a backtrace to evacuate. I can "fix" the problem by just adding a `traceShow () x` somewhere in the middle of a huge recursion (which may accumulate thunk). Is this ring a bell to someone? I'm thinking about opening an issue, but I cannot reproduce it outside |
| 2021-08-05 12:07:31 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 2021-08-05 12:07:35 | <guibou-> | of a proprietary codebase. |
| 2021-08-05 12:08:52 | × | xff0x_ quits (~xff0x@port-92-195-48-93.dynamic.as20676.net) (Ping timeout: 245 seconds) |
| 2021-08-05 12:11:32 | × | Vajb quits (~Vajb@n2bovg6licdnldblt-2.v6.elisa-mobile.fi) (Read error: Connection reset by peer) |
| 2021-08-05 12:12:08 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a1-224.dhcp.inet.fi) |
| 2021-08-05 12:13:19 | → | markpythonicbitc joins (~markpytho@2601:647:5a00:35:4433:c8ce:66b8:8b6e) |
| 2021-08-05 12:13:45 | × | markpythonicbitc quits (~markpytho@2601:647:5a00:35:4433:c8ce:66b8:8b6e) (Client Quit) |
| 2021-08-05 12:15:55 | <[exa]> | guibou-: pretty likely a memory corruption |
| 2021-08-05 12:15:57 | → | xff0x_ joins (~xff0x@2001:1a81:5296:aa00:b4be:dba3:8175:6a33) |
| 2021-08-05 12:16:43 | → | MQ-17J joins (~MQ-17J@d14-69-206-129.try.wideopenwest.com) |
| 2021-08-05 12:22:51 | <guibou-> | [exa]: from my side or from GHC. Could it be a memory corruption from my side which does not appears anymore because the `traceShow` triggers different GC patterns. |
| 2021-08-05 12:22:58 | × | oxide quits (~lambda@user/oxide) (Read error: Connection reset by peer) |
| 2021-08-05 12:23:50 | <[exa]> | this isn't ghc process running right? |
| 2021-08-05 12:24:15 | <[exa]> | if not, almost 100% likely from your side, or something very borderline about using the existing libraries |
| 2021-08-05 12:24:30 | × | matijja quits (~matijja@193.77.181.201) (Quit: ZNC 1.8.1 - https://znc.in) |
| 2021-08-05 12:24:45 | → | matijja joins (~matijja@193.77.181.201) |
| 2021-08-05 12:24:57 | → | oxide joins (~lambda@user/oxide) |
| 2021-08-05 12:25:34 | <guibou-> | I'll continue my research then, thank you [exa] |
| 2021-08-05 12:26:13 | × | FragByte quits (~christian@user/fragbyte) (Quit: Quit) |
| 2021-08-05 12:28:46 | <[exa]> | guibou-: 1] are you using any specific lowlevel stuff, anything `unsafe*` etc? 2] are the crashes predictable? |
| 2021-08-05 12:28:55 | <[exa]> | s/predictable/replicable/ |
| 2021-08-05 12:31:20 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 2021-08-05 12:31:38 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 250 seconds) |
| 2021-08-05 12:34:33 | × | hiruji quits (~hiruji@user/hiruji) (Quit: ZNC 1.8.2 - https://znc.in) |
| 2021-08-05 12:35:07 | → | hiruji joins (~hiruji@user/hiruji) |
| 2021-08-05 12:36:32 | × | oxide quits (~lambda@user/oxide) (Ping timeout: 252 seconds) |
| 2021-08-05 12:36:43 | <dminuoso> | guibou-: This is very hard to say. It could be that the presence of `traceShow ()` ties the hands of the simplifier and hides the bug. |
| 2021-08-05 12:37:17 | <dminuoso> | But if its something along the lines of a misused accursedUnutterablePerformIO, then this will be very tough to find I reckon. |
| 2021-08-05 12:37:23 | bwe_ | is now known as bwe |
| 2021-08-05 12:37:33 | <dminuoso> | guibou-: Can you reliably reproduce the problem? |
| 2021-08-05 12:39:29 | <guibou-> | I can reliably reproduce the problem. Everytime I ran this executable. |
| 2021-08-05 12:40:22 | <guibou-> | And the "fix" is also perfectly reliable. I tried to inspect the "core", but it only shows that the `trace` call is there. Optimisations (if they are responsible) may happen later. |
| 2021-08-05 12:40:35 | → | markpythonicbitc joins (~markpytho@50.228.44.6) |
| 2021-08-05 12:40:39 | → | oxide joins (~lambda@user/oxide) |
| 2021-08-05 12:41:03 | × | markpythonicbitc quits (~markpytho@50.228.44.6) (Client Quit) |
| 2021-08-05 12:41:32 | <guibou-> | The code is using a bunch of unboxed vector, with certainly some unsafeWrite, so may be my fault. But the problem appears after a change which does not impact at all the "unsafe" part of the library. |
| 2021-08-05 12:41:54 | → | FragByte joins (~christian@user/fragbyte) |
| 2021-08-05 12:42:40 | → | chris joins (~chris@81.96.113.213) |
| 2021-08-05 12:42:43 | chris | is now known as Guest1558 |
| 2021-08-05 12:45:10 | <tomsmeding> | guibou-: out-of-bounds writes create pure epitome of "spooky action at a distance" |
| 2021-08-05 12:45:21 | <tomsmeding> | so definitely inspect your unsafe writes :p |
| 2021-08-05 12:45:32 | <[exa]> | guibou-: there as a good reason why this stuff is called "undefined behavior" :D |
| 2021-08-05 12:46:41 | → | sczar joins (~zed@49.36.176.147) |
| 2021-08-05 12:46:58 | <[exa]> | as a first thing I'd wrap the unsafes in something that can check the bounds and throw an error, then be easily switched off |
| 2021-08-05 12:47:17 | → | slavaqq joins (~slavaqq@sdmail.sdserver.cz) |
| 2021-08-05 12:47:57 | <[exa]> | Valgrind The Lifesaver probably doesn't work on the haskell stuff right? |
| 2021-08-05 12:48:04 | <dminuoso> | [exa]: undefined behavior is not something that applies to general "out-of-bounds" writes. |
| 2021-08-05 12:48:09 | <dminuoso> | It's a grossly misunderstood term, in fact. |
| 2021-08-05 12:48:51 | <dminuoso> | It usually refers to semantics in the C programming language. Historically, the implied meaning of UB has changed radically. |
| 2021-08-05 12:49:27 | <dminuoso> | An interesting related read by the way: https://www.yodaiken.com/2021/05/19/undefined-behavior-in-c-is-a-reading-error/ |
| 2021-08-05 12:49:36 | → | Obo joins (~roberto@70.pool90-171-81.dynamic.orange.es) |
| 2021-08-05 12:49:44 | → | markpythonicbitc joins (~markpytho@50.228.44.6) |
| 2021-08-05 12:50:19 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 2021-08-05 12:52:33 | <[exa]> | dminuoso: I'm using it for any spooky action at the distance now, but well yeah, you're right |
| 2021-08-05 12:52:54 | <merijn> | guibou-: unsafeWrite will happily corrupt memory elsewhere :p |
| 2021-08-05 12:53:04 | <merijn> | guibou-: Does it fail if you use the safe version of write? |
| 2021-08-05 12:53:34 | <guibou-> | out-of-bounds write using a dynamic index are perfectly defined, but what it does depends on the context, the compiler, the code, ... UB appears when you explictly write with a static index which is obviously out of bounds ;) |
All times are in UTC.