Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes. Set by lizmat on 24 May 2021. |
|||
00:03
reportable6 left
|
|||
vrurg | [Coke]: do you know if it is golfable to something suitable for a test? | 00:12 | |
[Coke] | vrurg: it doesn't compile for me, so I can't really golf it. | 00:16 | |
... and if it's fixed, I'd have to go back to when it segfaulted, then golf it, then make sure the golf was fixed. | |||
vrurg | It works for me both on macos and linux. Do you try it on Windows? | 00:17 | |
[Coke] | mac. | 00:18 | |
might have been a cut and paste error, then. | |||
my windows build is current broken, see previous. | |||
so if it works for you.. then it seems closable. | |||
vrurg | fish shell auto-escapes single quotes for me when I paste for `raku -e '...'`. Could it be your problem? | 00:19 | |
I'd close it. Would there be a golf for it I'd consider adding a test. But not when it requires a 3rd party module, of course. | 00:20 | ||
01:03
linkable6 left,
reportable6 joined
03:04
linkable6 joined
03:31
evalable6 joined
04:15
codesections5 joined
04:20
codesections left,
codesections5 is now known as codesections
04:22
MasterDuke left
04:23
Kaipi joined
04:24
Kaiepi left,
Altai-man joined
04:27
bisectable6_ joined,
committable6_ joined
04:28
sourceable6_ joined,
sena_kun left,
committable6 left,
bisectable6 left,
sourceable6 left,
rypervenche left,
releasable6 left,
notable6 left,
ugexe left
04:29
ugexe joined,
jdv_ left,
jdv joined,
rypervenche joined
04:30
Nicholas left,
Nicholas joined
04:32
SmokeMachine_ joined,
shareable6_ joined
04:33
unicodable6_ joined,
coverable6 left,
SmokeMachine left,
shareable6 left,
unicodable6 left,
SmokeMachine_ is now known as SmokeMachine,
tbrowder left,
tbrowder joined
04:41
nativecallable6 left,
nativecallable6 joined
04:47
gfldex_ joined,
gfldex left
04:48
statisfiable6 left,
statisfiable6 joined
04:49
benchable6 left,
benchable6 joined
04:50
squashable6_ joined
04:51
squashable6 left
05:01
bloatable6_ joined
05:03
bloatable6 left
05:25
releasable6 joined
05:27
coverable6 joined
05:28
notable6 joined
06:02
reportable6 left
06:05
reportable6 joined
07:22
MasterDuke joined
|
|||
nine | MasterDuke: doesn't the expr jit template for settypename miss the `!`? It has no result, so it should be (template: setdebugtypename! | 07:32 | |
Same is true for setbuffersize_fh btw | 07:36 | ||
And quite a few others. Which makes me wonder if the JIT is smart enough to detect the no-result situation. But then there are examples where the ! is there, despite the only child being a callv | 07:38 | ||
MasterDuke | i think the ! is for when the address of the destination is passed in | 07:42 | |
i.e, `\$0` instead of `$0` | |||
so i think the template is correct | |||
nine | The only thing the docs say about this is: "The template is marked with a '!' postfix to signal that the expression yields no value and takes care of storing the result itself" | 07:43 | |
MasterDuke | hm | 07:44 | |
github.com/MoarVM/MoarVM/blob/mast...#L508-L526 seems to be the relevant section of the template compiler | 07:56 | ||
08:31
lizmat_ joined
09:06
lizmat_ left,
Geth joined
09:07
TempIRCLogger joined
09:08
gfldex_ is now known as gfldex
|
|||
gfldex | I just hit a heisenbug with MoarVM oops: MVM_str_hash_fetch_nocheck called with a stale hashtable pointer . | 09:09 | |
full trace at gist.github.com/gfldex/a62653facd3...19325621f3 | |||
lizmat | and what is the code? | 09:12 | |
gfldex | github.com/gfldex/perl6-www-radiobrowser | 09:13 | |
nine | gfldex: that usually means thread-unsafe hash access in the program | 09:26 | |
gfldex: a quick glance at the module shows that it does use threads and hashes | 09:27 | ||
09:29
Geth left,
lizmat_ joined
09:30
Geth joined,
TempIRCLogger__ joined
09:31
RakuIRCLogger left,
lizmat left,
TempIRCLogger left
09:32
lizmat_ left,
lizmat joined
|
|||
gfldex | I will check if that solves the problem. | 09:59 | |
10:53
linkable6 left,
evalable6 left,
evalable6 joined
|
|||
nine | In an interesting development the "where does the NativeCall slow down come from?" question morphed into "why the hell did this ever work before?" | 11:26 | |
How so? Because when a native sub gets called the first time it should replace its own body with one that doesn't have any setup code anymore. But what gets called is actually not the sub itself, but a clone (because closures...). So while we do replace the original's body, the clone still contains the old one. | 11:28 | ||
So it really looks like it's more productive to work on the new NativeCall implementation jnthnwrthngtn++ pointed at | 11:46 | ||
lizmat | I'd say: indeed, if I hadn't already said that :-) | 11:51 | |
11:55
linkable6 joined
12:03
reportable6 left
12:04
reportable6 joined
12:37
jgaz joined
13:02
jgaz left
|
|||
dogbert17 | it seems as if t/02-rakudo/15-gh_1202.t can fail in two ways, either a SEGV or with 'MoarVM panic: Memory allocation failed; could not allocate 29035875272 bytes' | 13:46 | |
it's always the same number | 13:47 | ||
13:49
jgaz joined
14:04
ggoebel__ left
14:21
jgaz left
15:13
ggoebel__ joined
|
|||
timo | m: say 29035875272.msb | 15:56 | |
camelia | 34 | ||
timo | that's multiple gigabytes? tens of gigabytes | ||
m: say 29035875272 / 1024 / 1024 / 1024 | |||
camelia | 27.0417661145 | ||
timo | so most likely something's growing without bound | 15:58 | |
dogbert17 | timo: yes it's strange | 16:01 | |
timo | do we have a backtrace? | 16:05 | |
the SEGV is quite possibly from stack area and heap area running into one another | 16:11 | ||
just a different way for emory exhaustion when malloc isn't able to report it | |||
dogbert17 | timo: let me get one ... | 16:12 | |
timo | the one fro the malloc panic will probably be more helpful, not sure if the stack actually gets corrupted from the segv if it is what i think it is | 16:13 | |
dogbert17 | timo: the SEGV version showed up first, gist.github.com/dogbert17/a07d0bb2...66c9d6dc8c | 16:31 | |
timo | can you print the whole dp and the op? | 16:33 | |
dogbert17 | timo: gist updated | 16:39 | |
timo | the values in constants and gc_constants? | 16:46 | |
but at least checkee being 0 doesn't seem bad | |||
what does val.o look like, and its STABLE? | 16:47 | ||
dogbert17 | (gdb) p STABLE(val.o) | 16:51 | |
Cannot access memory at address 0x10 | |||
timo | OK, so val.o is null | 16:53 | |
that's what's segfaulting here, i imagine | |||
dogbert17 | I agree | 16:54 | |
trying to run this test under gdb hangs, it doesn't even finish one run | 16:55 | ||
18:02
reportable6 left
18:06
japhb left
18:09
japhb joined
|
|||
timo | github.com/googleprojectzero/weggli oh my | 18:42 | |
MasterDuke | interesting | 18:48 | |
japhb | So is the underlying tree-sitter library, it looks like | 19:27 | |
timo | ah, you hadn't seen that yet? | 19:33 | |
i believe a conference talk about it was linked here some time ago | |||
japhb feigns shock that he might not have perfect memory | 19:35 | ||
20:04
reportable6 joined
21:04
linkable6 left,
evalable6 left
21:05
linkable6 joined
22:05
linkable6 left
22:06
linkable6 joined
22:07
evalable6 joined
22:48
ggoebel__ left
22:49
ggoebel__ joined
23:57
squashable6_ left
23:59
squashable6 joined
|