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:07
reportable6 left
00:10
reportable6 joined
00:32
Kaipei left,
Kaipei joined
01:32
greppable6 left,
bisectable6 left,
evalable6 left,
reportable6 left,
committable6 left,
shareable6 left,
sourceable6 left,
benchable6 left,
statisfiable6 left,
nativecallable6 left,
tellable6 left,
linkable6 left,
bloatable6 left,
notable6 left,
coverable6 left,
quotable6 left,
unicodable6 left,
releasable6 left
01:33
statisfiable6 joined,
notable6 joined,
evalable6 joined,
linkable6 joined,
coverable6 joined
01:34
tellable6 joined,
nativecallable6 joined,
sourceable6 joined,
reportable6 joined,
releasable6 joined,
quotable6 joined,
greppable6 joined
01:35
bisectable6 joined,
bloatable6 joined,
benchable6 joined,
shareable6 joined,
committable6 joined
01:36
unicodable6 joined
02:02
Kaipei left
03:02
statisfiable6 left,
notable6 left,
releasable6 left,
unicodable6 left,
shareable6 left,
quotable6 left,
evalable6 left,
linkable6 left,
coverable6 left,
reportable6 left,
committable6 left,
benchable6 left,
sourceable6 left,
bloatable6 left,
bisectable6 left,
tellable6 left,
nativecallable6 left,
greppable6 left
03:03
quotable6 joined,
committable6 joined,
greppable6 joined,
statisfiable6 joined,
bloatable6 joined
03:04
nativecallable6 joined,
unicodable6 joined,
notable6 joined,
releasable6 joined,
bisectable6 joined
03:05
coverable6 joined,
tellable6 joined,
benchable6 joined,
reportable6 joined,
evalable6 joined,
sourceable6 joined,
shareable6 joined,
linkable6 joined
04:05
greppable6 left,
sourceable6 left,
nativecallable6 left,
tellable6 left,
releasable6 left,
notable6 left,
reportable6 left,
evalable6 left,
bloatable6 left,
benchable6 left,
statisfiable6 left,
unicodable6 left,
coverable6 left,
linkable6 left,
quotable6 left,
bisectable6 left,
shareable6 left,
committable6 left
04:06
benchable6 joined,
bloatable6 joined,
shareable6 joined,
quotable6 joined,
nativecallable6 joined
04:07
committable6 joined,
linkable6 joined,
notable6 joined,
unicodable6 joined,
releasable6 joined,
sourceable6 joined,
evalable6 joined
04:08
coverable6 joined,
tellable6 joined,
reportable6 joined,
greppable6 joined
04:09
statisfiable6 joined,
bisectable6 joined
05:09
tellable6 left,
reportable6 left,
quotable6 left,
bloatable6 left,
releasable6 left,
committable6 left,
sourceable6 left,
linkable6 left,
evalable6 left,
shareable6 left,
statisfiable6 left,
greppable6 left,
bisectable6 left,
notable6 left,
coverable6 left,
benchable6 left,
nativecallable6 left,
unicodable6 left,
bisectable6 joined,
statisfiable6 joined,
releasable6 joined,
committable6 joined,
bloatable6 joined,
nativecallable6 joined,
unicodable6 joined
05:10
coverable6 joined,
linkable6 joined,
sourceable6 joined,
evalable6 joined
05:11
shareable6 joined,
notable6 joined,
reportable6 joined,
greppable6 joined,
quotable6 joined,
tellable6 joined,
benchable6 joined
05:17
Kaipei joined
05:33
frost joined
06:08
reportable6 left
06:10
reportable6 joined
06:19
kjp left
07:52
linkable6 left,
evalable6 left
07:54
linkable6 joined,
evalable6 joined
07:58
Kaipii joined
08:01
Kaipei left
09:35
Kaipii left
09:51
frost left
10:24
Kaipii joined
10:47
Kaipii left
11:46
Kaipii joined
12:08
reportable6 left
12:09
reportable6 joined
|
|||
dogbert17 | m: use nqp; nqp::splice(my int @a,array[int].new(:shape),0,1) | 12:57 | |
camelia | (signal SEGV) | ||
dogbert17 | this is github.com/rakudo/rakudo/issues/4075 | 12:58 | |
the problem seems, to my untrained eye, to start on this line: github.com/MoarVM/MoarVM/blob/mast...ray.c#L842 | 13:02 | ||
when REPR(src)->ID returns 39 (MVM_REPR_ID_MultiDimArray) instead of 1 (MVM_REPR_ID_VMArray) | |||
at that point s_repr_data gets set to NULL which leads to a SEGV on line 864 | 13:03 | ||
14:55
[Coke] left
15:03
[Coke] joined
15:39
[Coke] left
15:51
[Coke] joined
|
|||
timo | good catch | 16:24 | |
the guard for "is s_repr_data not null" should perhaps guard both the then and else branch, and probably also have an exception thrown at the end | 16:26 | ||
i would have said we must have been sure the repr id of at least source is always array at some point, perhaps when choosing if copy_elements is the right function to call | 16:27 | ||
perhaps we just blindly copy-pasted copy-elements to the reprops of mvmmultidimarray? | 16:28 | ||
16:43
[Coke] left
16:53
[Coke] joined
17:16
[Coke] left
17:31
[Coke] joined
18:07
reportable6 left
18:10
reportable6 joined
|
|||
dogbert17 | timo: thx for looking, could it be the asplice function that maskes some kind of mistake? | 19:32 | |
#0 0x00007ffff78350f0 in copy_elements (tc=0x20000030080, src=0x200091178a0, dest=0x20009041e60, s_offset=0, d_offset=0, elems=1) at src/6model/reprs/VMArray.c:864 | |||
#1 0x00007ffff78358a1 in asplice (tc=0x20000030080, st=0x200038c11b8, root=0x20009041e60, data=0x20009041e78, from=0x200091178a0, offset=0, count=0) at src/6model/reprs/VMArray.c:1024 | |||
#2 0x00007ffff7794772 in MVM_interp_run (tc=0x20000030080, initial_invoke=0x7ffff7954c52 <toplevel_initial_invoke>, invoke_data=0x20000598800, outer_runloop=0x0) at src/core/interp.c:2260 | |||
19:36
kjp joined
21:42
evalable6 left,
linkable6 left,
linkable6 joined
21:45
evalable6 joined
|
|||
timo | we'll have to think about what exactly it means to splice a multidimarray. multidimarrays are supposed to be fixed-size, so either we forbid splicing a different-sized thing into the hole it makes, or if we do something like shuffle the default value or whatever in from the end | 22:24 | |
and splice uses single-dimension indices, how does it, just in general? | 22:26 |