|
github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
| timotimo | uh oh | 00:45 | |
| i think we have trouble with CArray inlined in CStructs | |||
| here CArray's destructor is trying to free its *storage, but it actually points to the inside of a CStruct's body | |||
| but the managed flag is still set for some reason | |||
| that's clearly not right | |||
|
00:47
Kaiepi left
00:48
Kaiepi joined
|
|||
| timotimo | i wonder if it should become part of the repr data | 00:55 | |
| m: use NativeCall; class Test is repr<CStruct> { has int32 $.foo; has int32 $.bar; HAS int8 @.foo[16] is CArray }; my @things; for ^100_000 { @things.push(Test.new); @things.pop; Nil } | 01:02 | ||
| camelia | ===SORRY!=== Error while compiling <tmp> Two or more attributes declared that both want an accessor method 'foo' at <tmp>:1 |
||
| timotimo | m: use NativeCall; class Test is repr<CStruct> { has int32 $.foo; has int32 $.bar; HAS int8 @.bloop[16] is CArray }; my @things; for ^100_000 { @things.push(Test.new); @things.pop; Nil } | 01:03 | |
| camelia | (signal ABRT)*** Error in `/home/camelia/rakudo-m-inst-2/bin/moar': free(): invalid pointer: 0x0000000004435508 *** ======= Backtrace: ========= /lib64/libc.so.6(+0x740ef)[0x7f3394eb60ef] /lib64/libc.so.6(+0x79646)[0x7f3394ebb646] /lib64/libc.… |
||
| timotimo | bisect: use NativeCall; class Test is repr<CStruct> { has int32 $.foo; has int32 $.bar; HAS int8 @.bloop[16] is CArray }; my @things; for ^100_000 { @things.push(Test.new); @things.pop; Nil } | ||
| bisectable6_ | timotimo, Bisecting by exit signal (old=2015.12 new=e68e38e). Old exit signal: 0 (None) | ||
| timotimo, bisect log: gist.github.com/2c419d7862632b2fcd...79503348c9 | |||
| timotimo, (2018-08-07) github.com/rakudo/rakudo/commit/3c...e44e295369 | |||
| timotimo | Bump nqp/moar for CStruct/CArray fix | 01:06 | |
| well, that worked out ;) ;) | |||
| Geth: ver github.com/rakudo/rakudo/commit/3c...e44e295369 | 01:07 | ||
| Geth | timotimo, version bump brought in these changes: github.com/perl6/nqp/compare/2018....g001d1a756 | ||
| MasterDuke | Geth: ver github.com/perl6/nqp/commit/001d1a...84cad4735a | 01:20 | |
| Geth | MasterDuke, version bump brought in these changes: github.com/MoarVM/MoarVM/compare/2...gac3d3c769 | ||
| timotimo | greppable6: HAS.*is\s+CArray | 01:46 | |
| greppable6 | timotimo, 1 line, 1 module: gist.github.com/70b9289e8cdd783963...5e7868e350 | ||
|
02:04
AlexDaniel left
02:09
samcv left
02:12
samcv joined
02:19
AlexDaniel joined
|
|||
| MasterDuke | timotimo: i just saw a "bailed completely" because of sp_bind_i32. how hard would it be to jit those sp_bind_* ops? | 03:05 | |
| nine | MasterDuke: as there are a number of sp_bind_* ops already jited, I guess it's quite easy. | 07:03 | |
|
07:52
domidumont joined
07:57
domidumont left
08:00
domidumont joined
09:26
AlexDani` joined
09:30
evalable6 left,
benchable6 left,
AlexDaniel left
09:35
scovit_ left,
scovit joined
|
|||
| scovit | timotimo: in my patch to get CStruct passed by value I was adding the same funtionality to CStruct inlined in CStructs | 10:02 | |
| *storage should point inside the struct body so that you can do things like InlinedStruct.new(x=>1, y=>2); | 10:03 | ||
| what I think moar should do is to be able to recognize this situation and do not free the pointer | |||
| last time I checked this was not an issue since the CStruct just memleaks all over | 10:05 | ||
|
10:14
evalable6 joined
|
|||
| scovit | I mean this kind of code I think should work: github.com/scovit/rakudo/blob/cstr...args.t#L32 | 10:22 | |
| right now it wouldn't) | 10:23 | ||
|
11:14
domidumont left
11:24
dogbert2_ joined
12:25
lizmat_ joined
12:26
dogbert21 joined
12:29
nebuchad` joined
12:30
harrow left,
lizmat left,
samcv left,
nebuchadnezzar left,
dogbert2_ left,
camelia left,
harrow joined,
samcv joined
12:31
samcv left,
samcv joined
12:33
camelia joined
12:41
lucasb joined
13:03
domidumont joined
13:43
nebuchad` is now known as nebuchadnezzar
|
|||
| nwc10 | good *, #moarvm | 13:45 | |
| ASAN is also really excited by t/spec/S02-types/sethash.t | |||
| paste.scsys.co.uk/583278 | |||
| (as well as the complete pavement pizza explosion with more-pea when trying to build NQP) | |||
| nwc10 wonders - is there a way to colect the full colour ouptut from ASAN, and paste it somewhere in colour? | 13:46 | ||
| masak | screenshot? | 13:54 | |
| nwc10 | I was rather hoping for colour text | 13:55 | |
| "JPG pasted into a word document" never feels like the right answer :-) | 13:56 | ||
| this was an idle thought | |||
| timotimo | some terminals will let you copy-paste formatted text with colors and such | 14:05 | |
| and if you have a browser with something like a textarea with ContentsEditable it'll paste that as HTML iiuc | |||
| jnthn: how would you prefer CArray and CStruct get signaled that their body pointer points inside an existing memory region, for example inlined structs/arrays inside other structs, or structs inside an array-of-struct | 14:09 | ||
| right now at least the CArray gets created with ->initialize when a CStruct is created or marshalled from C, and that blindly assumes the memory region is owned by the CStruct | 14:10 | ||
| should it be part of the repr data, and we'd add something to the compose protocol? | |||
| or would it be fine for the parent object to set a value before or after initialize; that sounds too ad-hoc, non-API, dirty | 14:11 | ||
|
14:22
MasterDuke left
14:24
brrt joined,
lizmat_ is now known as lizmat
|
|||
| brrt | ohai #moarvm | 14:25 | |
| hurrah for TPF in being accepted to GSoC | |||
| lizmat | coooool! | ||
| brrt | oh, i maybe shouldn't have said that on a logged channel | ||
.oO( Probably nobody reads this ) |
|||
| lizmat | oops | ||
| I didn't | |||
| tadzik | no, nobody knows | 14:26 | |
| brrt | :-D | ||
| but I'm fairly excited | 14:27 | ||
| timotimo | someone else already wrote that in a logged channel yesterday i think | 14:47 | |
| brrt | hehe | 14:52 | |
| jnthn | Wrote what? :) | 15:04 | |
| yoleaux | 24 Feb 2019 19:44Z <nwc10> jnthn: ASAN very excited by more-pea - heap-use-after-free when building NQP -- paste.scsys.co.uk/583261 | ||
| jnthn | Oh...wrote to memory after free... :P | ||
| o/ | |||
| dogbert21 | .seen timotimo | 15:30 | |
| yoleaux | I saw timotimo 14:47Z in #moarvm: <timotimo> someone else already wrote that in a logged channel yesterday i think | ||
|
15:35
brrt left,
domidumont1 joined
15:38
domidumont left
15:43
brrt joined
15:49
brrt left
16:17
AlexDani` is now known as AlexDaniel
|
|||
| Geth | MoarVM: dcafbc4c72 | (Aleks-Daniel Jakimenko-Aleksejev)++ | src/core/nativecall.c Revert "Change CStruct For Compatibility With Native Call JIT" This partially reverts commit efdf568975cf38c2b711c3c9c6c2bb741bf89460. |
16:33 | |
| timotimo | dogbert21: sup? | 16:35 | |
|
16:59
brrt joined
|
|||
| brrt | ohai jnthn | 17:22 | |
| dogbert17 | timotimo: I suggested to AlexDaniel that he should revert parts of efdf568975cf38c2b711c which he did | 17:25 | |
| dogbert17 sort of suggested :) | 17:26 | ||
| AlexDaniel: I had a look at R#2665, I can't get the test to panic on its own, it only panics when trying to install the module via zef | 17:29 | ||
| synopsebot | R#2665 [open]: github.com/rakudo/rakudo/issues/2665 [⚠ blocker ⚠] MoarVM panic when testing Red | ||
| AlexDaniel | dogbert17: oh, so it *does* panic | 17:30 | |
| dogbert17 | with a zef install ... yes | ||
| AlexDaniel | OK that makes more sense | ||
| because I think I was trying to reproduce it without zef | |||
| soooo… ok, that's some good info | 17:31 | ||
|
17:46
robertle joined
17:49
domidumont joined
17:52
domidumont1 left
18:03
Kaiepi left
|
|||
| AlexDaniel | dogbert17: ah-ha, yeah, I can reproduce it through zef | 18:04 | |
|
18:04
Kaiepi joined
|
|||
| dogbert17 | AlexDaniel: cool | 18:07 | |
| AlexDaniel | dogbert17: yeah but… now what? | ||
| dogbert17 | perhaps ugexe has some ideas | 18:10 | |
| jnthn | o/ brrt | 18:22 | |
| jnthn has been a bit burried with stuff to do, but will be about a bit more for the rest of the week :) | |||
| nwc10 | that's half \o/ and half not | 18:23 | |
| I think the "forward looking statement" is the better half. | |||
|
18:32
domidumont left
|
|||
| nwc10 | and you're going to rain on ASAN's parade? | 18:36 | |
| brrt | ASAN is repeatedly raining on our parade, so it's only fair | 18:53 | |
| timotimo | at some point nobody will know who started the whole thing | 18:59 | |
|
19:01
brrt left,
brrt joined
19:03
brrt left
|
|||
| timotimo | bisectable6_: class ABC { has int32 $.x; multi method new(int32 :$x!) { self.bless(:$x) } }; ABC.new(x => 0); | 19:15 | |
| bisectable6_ | timotimo, On both starting points (old=2015.12 new=9a87b56) the exit code is 1 and the output is identical as well | ||
| timotimo, Output on both points: «Lexical with name '$x' has a different type in this frame in method new at /tmp/c5jP3thMj9 line 1 in block <unit> at /tmp/c5jP3thMj9 line 1» | |||
| timotimo | hum? | ||
| in MVMContext's bind_key it got_kind 3 (MVM_int32) but wanted 4 (MVM_int64) | 19:19 | ||
| this probably wants a little bit of truncation magic just like in at_key? | |||
| this comes from bindkey_i, which always passes int64 ... | 19:20 | ||
|
19:20
samcv_ joined
|
|||
| timotimo | and there are no ops that bindkey_i32 or similar | 19:20 | |
|
19:20
samcv left
|
|||
| timotimo | why it binds that in an MVMContext, i'm not entirely sure about, though. comes from the binder, apparently | 19:20 | |
|
19:21
Kaiepi left,
squashable6 left
20:24
Kaiepi joined
20:41
patrickb joined
20:54
samcv_ is now known as samcv
21:18
squashable6 joined
22:47
MasterDuke joined
22:48
MasterDuke left,
MasterDuke joined
23:01
lucasb left
23:13
Kaiepi left
23:14
Kaiepi joined
23:32
AlexDaniel left
23:37
AlexDaniel joined
23:42
AlexDaniel left
23:49
squashable6 left
23:51
squashable6 joined
|
|||