| IRC logs at
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 `f` is fine. afterwards it's all 0x0 10:29
hm, turning these 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: 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
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 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
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" 20:24
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
and 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 and 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 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
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
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