github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:31
squashable6 left
00:35
squashable6 joined
01:47
evalable6 left,
linkable6 left,
linkable6 joined
01:48
evalable6 joined
03:36
releasable6 left,
unicodable6 left,
bloatable6 left,
coverable6 left,
notable6 left,
tellable6 left,
sourceable6 left,
committable6 left,
evalable6 left,
bisectable6 left,
quotable6 left,
greppable6 left,
shareable6 left,
benchable6 left,
nativecallable6 left,
statisfiable6 left,
squashable6 left,
linkable6 left,
shareable6 joined,
benchable6 joined,
bisectable6 joined
03:37
sourceable6 joined,
notable6 joined,
bloatable6 joined,
nativecallable6 joined
03:38
quotable6 joined,
tellable6 joined,
evalable6 joined,
committable6 joined,
statisfiable6 joined,
coverable6 joined,
releasable6 joined,
unicodable6 joined
03:39
linkable6 joined,
greppable6 joined,
squashable6 joined
05:07
ggoebel_ left
08:23
MasterDuke joined
08:37
domidumont joined
08:44
brrt joined
08:51
zakharyas joined
08:56
MasterDuke92 joined
09:00
MasterDuke left
09:19
sena_kun left
09:23
sena_kun joined
|
|||
MasterDuke92 | ah ha! | 10:27 | |
10:27
ggoebel_ joined
|
|||
MasterDuke92 | before this call to MVM_spesh_log_deopt github.com/MoarVM/MoarVM/pull/1426...bb2aa0R248 `f` is fine. afterwards it's all 0x0 | 10:29 | |
hm, turning these github.com/MoarVM/MoarVM/pull/1426...0R158-R159 into MVM_ASSIGN_REFs didn't seem to help | 10:50 | ||
jnthn | I think MVM_spesh_log_deopt could in theory allocate a new log if the current one fills | 10:53 | |
And a frame can be heap-allocated | |||
So an MVMROOT of `f` is probably called for | 10:54 | ||
Though there's also an MVMROOT of `f` right above this | |||
nine | Huh! This looks like a spesh bug: | ||
sp_p6oget_n r67(0), r20(8), liti16(8) # [029] sp_p6oget_n a Num | |||
jnthn | So you can just put it in there | ||
nine | r20(8): usages=1, deopt=32, flags=17 KnTyp TyObj (type: Num) | ||
sp_p6oget_n segfaults when called with a type object. Apparently we even know it's a type object, yet we generate that sp_p6oget_n | 10:55 | ||
jnthn | oops, yes | ||
Amazing what sneaks by unnoticed for so long | |||
nine | Could be this: github.com/MoarVM/MoarVM/blob/mast...ue.c#L1980 | 10:57 | |
10:59
MasterDuke joined
11:01
MasterDuke92 left
11:10
MasterDuke53 joined
11:12
MasterDuke left
|
|||
MasterDuke53 | well, moving the MVM_spesh_log_deopt inside the MVMROOT (and changing the straight assignments in MVM_spesh_log_deopt to MVM_ASSIGN_REFs) got further in the build, but then another segv | 11:26 | |
11:26
MasterDuke53 left
11:27
MasterDuke joined
11:30
El_Che left
11:31
El_Che joined
|
|||
MasterDuke | set GC_DEBUG back up to 3, MVM_panic invalid owner again... | 11:40 | |
tellable6 | 2021-02-02T11:31:41Z #raku <PimDaniel> MasterDuke53: Like told me somebody here (you may be) i gitcloned the main package, went in the directory, then zef installed only its dependencies. Now i can play with the main package. | ||
11:44
brrt left
|
|||
nine | Yep, easily reproducable: | 11:54 | |
m: sub foo(Num $version) { $version ?? 1 !! 0 }; for ^100000 { foo(Num); } | |||
evalable6 | (signal SIGSEGV) | ||
nine | If I remove that MVM_OP_unbox_n optimization however, the error changes to "Cannot unbox a type object (Num) to a num." | 11:55 | |
MasterDuke | m: sub foo(Int $version) { $version ?? 1 !! 0 }; for ^100000 { foo(Int); } | 11:57 | |
evalable6 | |||
lizmat | nine: segfault confirmed on MacOS | 12:28 | |
tellable6 | 2021-02-02T09:11:30Z #raku <PimDaniel> lizmat Hi lizmat! How can i install locally your code github.com/lizmat/List-AllUtils with dependencies? , i need to play with it. Thank's in advance. | ||
nine | MasterDuke: that's curious. If you look at the spesh function in src/6model/reprs/P6opaque.c neither for MVM_OP_unbox_i nor for MVM_OP_unbox_n we check if the object is concrete. Yet the Num case segfaults while the Int case passes | ||
lizmat | maybe a type object is Inty enough ? | 12:29 | |
MasterDuke | no error with Str either | 12:30 | |
12:33
zakharyas left
|
|||
nine | We probably just don't get there because of other optimizations (which may apply to Int and Str but not Num) | 12:36 | |
In that case the Int and Str code would be equally wrong | 12:37 | ||
Ah, yes. The difference is in optimize_istrue_isfalse. That doesn't support Str at all and for MVM_BOOL_MODE_UNBOX_INT it has a if (!guaranteed_concrete) return; safe guard, but for MVM_BOOL_MODE_UNBOX_NUM it doesn't. So it goes on to generate sp_p6oget_n, sp_istrue_n, unless_i | 12:51 | ||
For the other cases it's just istrue, unless_i | |||
14:10
zakharyas joined
|
|||
MasterDuke | well, it's no great surprise, but if i comment out the call to MVM_spesh_candidate_discard_one then i can build rakudo just fine | 14:43 | |
if i don't comment it out, but just comment out the MVM_spesh_arg_guard_destroy and two MVM_fixed_size_free_at_safepoints inside it, still segfault/MVM_panic | 14:47 | ||
14:51
MasterDuke left
|
|||
jnthn | Hm, so that means at least now the problem is in the discard, but the logging works out OK | 14:54 | |
14:57
MasterDuke joined
|
|||
MasterDuke | i tried the trick of following the value of frame->work[i].o back in time, but it didn't reveal anything to me | 14:59 | |
just tried commenting out the spesh_graph_destroy and the fixed_size_frees and instead added `memset(cands_and_arg_guards->spesh_candidates, 0xfd, (new_num + 1) * sizeof(MVMSpeshCandidate *));`, but don't see any 0xfds in the backtrace | 16:24 | ||
anybody have a brilliant suggestion for debugging? doesn't even have to be brilliant, just better than mine (low bar!) | 16:51 | ||
17:09
domidumont left
18:53
MasterDuke left
19:12
patrickb joined
19:17
MasterDuke joined
19:26
zakharyas left
|
|||
lizmat | SN9 enthusiasts: 27 mins to launch | 19:33 | |
El_Che | can be buy tickets to Mars yet? :) | 19:36 | |
(Damn The Expanse, giving me ideas) | 19:37 | ||
moritz | El_Che: I'm sure somebody will sell you a ticket :-) | 19:44 | |
El_Che | aha | 19:45 | |
excellent point | |||
nine | lizmat: so which of the plethora of live streams are you watching? | 20:11 | |
lizmat | www.youtube.com/watch?v=wfHqbahPKpY | ||
nine | Ah, got that on my laptop. On the big scren I have Everyday Astronaut | 20:12 | |
Everyday Astronaut | |||
nwc10 | for me "Video Unavailable" | 20:13 | |
aha, that seems to be Chromium being confused between tabs/windows | 20:17 | ||
"Don't cross the streams" | |||
www.youtube.com/watch?v=_zZ7fIkpBgs | 20:24 | ||
27s | |||
El_Che | it's up | 20:26 | |
[Coke] | OOPS | 20:32 | |
MasterDuke | doh | ||
nine | bug! | ||
El_Che | "I told you not ti devide by zero!" | ||
[Coke] | ha. "technically it did land" | 20:33 | |
lizmat | rud | ||
"We'll be back with another starship in the near future" :-) | 20:34 | ||
El_Che | the commentator was all the time talkign about the "belly flop" while in the air | ||
MasterDuke | i'm amused every time i see those, they look so simple, like a kids craft project | ||
El_Che | yep | ||
nwc10 | "another starship" - there, sitting waiting on the other stand | ||
(does not have engines yet) | |||
lizmat | Wendy was looking as well: "did you see those ugly rivets?" :-) | 20:35 | |
El_Che | they have enough pieces now | ||
nine | Imagine having to close the road and evacuate the village every time you want to run tests... | ||
21:01
zakharyas joined
|
|||
El_Che | working on "nines" coredump feature, I see something weird. fedora:rawhide and alpine:edge fail the moarvm compilation | 21:02 | |
while running the debug option (--debug --optimize=0) and verbose tests the error don't occur | |||
github.com/nxadm/rakudo-pkg/runs/1...tep:8:1155 | |||
and github.com/nxadm/rakudo-pkg/runs/1...#step:8:97 | 21:03 | ||
MasterDuke | looks all green to me | 21:07 | |
El_Che | that's the point | 21:08 | |
without "debugĀØ it fails | |||
MasterDuke | oh. ha | ||
any logs of those? | |||
El_Che | yes github.com/MoarVM/MoarVM/issues/1424 and github.com/MoarVM/MoarVM/issues/1425 | 21:09 | |
MasterDuke | probably beyond my level of expertise | 21:13 | |
El_Che | The "other" build is always green because I kind of skip it as far as I can with github actions | ||
so if DEBUG_BUILD is set in the version.sh file in the repo, it will build in the debugbuild job and test and skip the normal build-and-package | 21:14 | ||
(and the other way round) | |||
I can build both at the same time, but 50 builds would take to long to be userfriendly | 21:15 | ||
except if devs think it's useful in DEBUG_BUILD | |||
I'll just skip the debugbuild job when DEBUG_BUILD!=1 | |||
so if someone has opinions: welcome :) | 21:16 | ||
MasterDuke | might be nice to have one or two jobs that also set some of the advanced debug options in moarvm. e.g., GC_DEBUG, FSA_DEBUG | ||
El_Che | we can set it in config | 21:17 | |
MasterDuke | bunch of those requiring editing #defines in the source though | ||
El_Che | well, the regular user not setting DEBUG_BUILD is me, when releasing packages | ||
so we can make the debug build as complicated as we need it to be | 21:18 | ||
MasterDuke | i'd get input from more people than just me about what would be good | 21:20 | |
El_Che | that would be great | ||
ATM the variables in the setup are components versions (rakudo,npqp,moarvm,zef), components commits (preceded by @) and combinations and a DEBUG_BUILD var that changes the moarvm configure options and set tests to verbose | 21:23 | ||
I think I cracked the keeping cores of segfaults problem, but I need to verify it | 21:24 | ||
so far no cores :) | |||
the artifacts of a DEBUG_BUILD run is a tag.gz of the sources and the cores | 21:25 | ||
without DEBUG_BUILD, also the packages | |||
MasterDuke | i assume you could edit some moarvm source files if DEBUG_BUILD is set? | 21:28 | |
El_Che | I could do a perl -pi | 21:29 | |
yes | |||
EDIT_SRC_CMD="perl -pi -e 's/foo/fa' moarvm/src/foo.h" | 21:31 | ||
could be an option | |||
22:11
zakharyas left
|
|||
cog__ | Starship looks just like special effects of a low budget sci-fi flick of the 70s :). Where is 2001 a space odyssey with Pan Am flight attendants ? | 22:28 | |
Probably the Pan Am reference is lost on most people today. | 22:29 | ||
Oops, another unscheduled fast disassembly | 22:38 | ||
Who am I too joke about starship when I am back from the emergency room for a unscheduling meeting of my face with a curb. Fixed with a few stitches. Damn glasses and mask. | 22:42 | ||
El_Che | authc | ||
ch | |||
22:43
patrickb left
|
|||
jnthn | cog__: Urgh, that sounds unpleasant. Hope you heal up quickly enough. | 22:44 | |
And yes, glasses + mask + cold weather so they steam is no fun at all. | |||
[Coke] | cog__: oof. hope you heal up quick | 22:46 | |
MasterDuke | heh, i've worn my glasses way more in the past 10 months since i haven't bothered putting in contacts every day. but if i know i'm going out somewhere and will need to wear a mask...the contacts go in | ||
cog__ | That was spectacular to the bystander, blood, but that was just a small cut. Well I learned how deep the system is disorganised by Covid. The first emergency hospital was not doing emergency anymore because they were doing vaccines. And the other was overloaded. Ho btw, the first one, Hotel Dieu, is scheduled to be downsized to give place to commercial stores, close to cathedral Notre Dame. Macron gouvernent is a vulture. | 22:52 | |
El_Che | (great location, walked there a zillion of times ) | 22:54 | |
23:17
squashable6 left
23:19
squashable6 joined
23:33
MasterDuke left,
MasterDuke joined
|