github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
02:10
AlexDaniel joined
02:27
ggoebel joined
02:32
ggoebel left
03:53
Kaiepi left
04:35
Kaiepi joined
04:52
MasterDuke left
05:52
domidumont joined
07:28
zakharyas joined
08:47
brrt joined
|
|||
brrt | \o | 09:12 | |
nwc10 | o/ | 09:13 | |
brrt | I think the only thing left for FPR support is spare register selection, and maybe something for function calls | 09:20 | |
timotimo | that doesn't sound like a terribly big amount of stuff! | 09:29 | |
brrt | it's not | 09:46 | |
and the good thing is that this mostly falls out of treating register sets as bitmap consistently | |||
timotimo | nice. | 09:47 | |
MFW a process spends 20% self time in mvm_fixed_size_alloc, which is often called by MVM_exception_backtrace via MVM_repr_bind_key_o | 10:09 | ||
the heck are all these backtraces | |||
20% of the process' time is spent in run_gc, really? | 10:12 | ||
10:12
domidumont left
|
|||
jnthn | o.O | 10:14 | |
timotimo | this is htmlify.p6 in perl6-examples | 10:15 | |
though it's running on a machine that's low on ram | |||
ugghhh i don't get any variables in gdb | 10:16 | ||
No symbol "MVMThreadContext" in current context. | 10:17 | ||
omfg | |||
i wonder if it's literally running in a loop that does nothing but "throw exception, catch exception, retry" | 10:18 | ||
jnthn | --profile it? :) | 10:19 | |
timotimo | i don't wanna start from the beginning :D | ||
though a guess it's all the same | |||
also, it doesn't finish running | |||
a sampling profiler would be great here :P | 10:20 | ||
cough cough | |||
11:26
zakharyas left
11:38
domidumont joined
11:42
domidumont1 joined
11:45
domidumont left
11:51
ggoebel joined
12:43
brrt left
12:54
zakharyas joined
13:00
pamplemousse joined
13:29
sena_kun joined
13:57
Kaypie joined
13:58
dogbert17 joined
14:00
nebuchad` joined
14:01
klapperl_ joined,
Woodi_ joined,
scovit_ joined
14:06
Kaiepi left,
dogbert11 left,
klapperl left,
jpf1 left,
scovit left,
Woodi left,
nebuchadnezzar left
14:07
brrt joined
14:09
nebuchad` is now known as nebuchadnezzar
14:11
jpf1 joined
14:16
domidumont joined
14:18
domidumont1 left
|
|||
brrt | \o | 14:35 | |
pamplemousse | o/ | 14:39 | |
timotimo | o/ | 14:41 | |
brrt | pamplemousse: not sure I told you yet, but if you do get yourself a blog, lizmat will be able to post it on the perl6 weekly | 14:46 | |
pamplemousse | That's nifty. I'm going to try to get something written up on Friday about what I've done so far | 14:51 | |
15:00
domidumont left
|
|||
pamplemousse | I looked through the github issue notes. When I use gdb to step through things, an unhandled exception "Cannot find method 'name' on object of type Perl6::Metamodel::ClassHOW at gen/moar/BOOTSTRAP.nqp:3720" throws when it hits this line: github.com/rakudo/rakudo/blob/mast...ain.c#L392 | 15:02 | |
Going through the valgrind output, I still think the invalid read traces to github.com/MoarVM/MoarVM/blob/mast...oop.c#L299 | |||
Stepping through, I can't get to that point in the code because it throws the unhandled exception, and I can't set a breakpoint there because gdb can't find eventloop.c, and I can't tell how it's being linked into ./install/bin/perl6 | |||
Any thoughts? | 15:03 | ||
timotimo | it completely refuses your breakpoint? | 15:05 | |
pamplemousse | It says that there's no source file with that name and asks if I want to make a breakpoint pending on future shared library load. If I go ahead and make the breakpoint, it never hits it. | 15:06 | |
timotimo | can you check what CFLAGS were used in moarvm's Makefile and rakudo's Makefile? | 15:12 | |
perhaps something is preventing the --debug from working right | |||
pamplemousse | Sure, can do. One sec | 15:13 | |
brrt | pamplemousse; that commonly happens when moar isn't bootstrapped quite correctly | 15:18 | |
(there's a bunch of initialization to do) | |||
my current, not-quite-foolproof solution is one of the following: | |||
-- either I start gdb with --args, followed by the complete command line | |||
- or I write a script, setting the correct directory, setting the args, setting the executable, and load that | 15:19 | ||
I agree that's the line that is the invalid read, but I'm really confused where that should be freed | |||
I don't think your problem is necessary the debug CFLAGS | 15:20 | ||
in gdb, 'show args' | 15:21 | ||
pamplemousse | timotimo: The rakudo cflags includes -g3, and moarvm's includes DMVM_TRACING, DMVM_CGOTO, and DMVM_RDTSCP. Those are all the differences. | 15:24 | |
brrt: That's how I'm currently calling gdb | 15:25 | ||
brrt | hmmm | ||
are you sure you are in the right directory? | |||
that your working directory is correct | |||
timotimo | pamplemousse: would you be okay with giving us ssh access to your computer for co-operative tmux sessions or so? | 15:27 | |
brrt | timotimo: even I don't know how to do that :-P | ||
timotimo | oh? | 15:28 | |
brrt | presumably you do, though | ||
timotimo | it's super easy and potentially a fun team building exercise ;) ;) | ||
it's like a trust fall | |||
pamplemousse | Sure, I'm not sure how to do that though | ||
timotimo | if you let someone onto your machine via ssh they could do *anything*! | 15:29 | |
brrt | well, anything that account can do | ||
timotimo | OK, we'll need a whole bunch of prereqs, though | ||
that's true. but who goes around making extra accounts for special situations like that! | |||
brrt | I would | 15:30 | |
timotimo | you'll of course need to be running an sshd and give one of us access, ideally with ssh public keys, so that nobody can guess a password or so | ||
brrt | Not good at trust building exercises maybe | ||
timotimo | and have whatever port you're running the sshd on forwarded to the open internet | ||
if you have an ipv6, there may not be a NAT in between you and the internet, so that could perhaps be easier | 15:31 | ||
pamplemousse | Do you have a tutorial you could point me to that could walk me through setting this up? | 15:32 | |
brrt | ubuntu does: help.ubuntu.com/lts/serverguide/op...er.html.en | 15:33 | |
timotimo | i'm actually going semi-afk now :o | 15:38 | |
brrt is going for dinner | |||
timotimo | but brrt, all you need to do to tmux cooperatively is "tmux a" from two terminals, and it should work immediately | ||
brrt | I see | ||
15:43
brrt left
|
|||
timotimo | you can also specify the tmux socket path and chmod it so that both unix users have access | 15:43 | |
that's a little less dangerous, but the "guest" user can still open more windows and do nefarious things in the background | 15:44 | ||
15:49
discord6 left,
discord6 joined
|
|||
pamplemousse | I don't have a fixed IP and am behind multiple layers of NAT that I don't have rights to set up port forwarding | 15:50 | |
I have the sshd set up but I can't set up port forwarding | 15:51 | ||
15:58
brrt joined
|
|||
brrt | that's going to be difficult then | 16:02 | |
brrt is thinking of a way out | 16:04 | ||
so. I can't get it to trigger either | 16:17 | ||
that's odd | |||
timotimo | pamplemousse: any ipv6 connectivity? | 16:18 | |
brrt | oh, now it works | 16:19 | |
pamplemousse | No, no ipv6 connectivity. | 16:20 | |
brrt | I may have a theory... | 16:27 | |
timotimo | why don't we set up a perl6 contributor VPN ... | ||
pamplemousse: do you have ssh access to a server that has an open port that you're allowed to use? | |||
pamplemousse | timotimo: Possibly. I'll have to get back to you on that. | 16:28 | |
timotimo | networking, y u so hard | 16:30 | |
brrt | networking engineers get paid crazy money i'm told | 16:32 | |
pamplemousse | I'll put in a request and it would probably take a bit of time, but could be possible in the future. | 16:33 | |
timotimo | i would invite you onto my ssh server, but all that gets us is that you can work on your problem on my computer where the problem doesn't appear | ||
what we could do if we were silly, which perhaps we are, is that you can connect to my ssh server, but only forward a port; the remote port would listen on my computer and connect to a port on your computer locally | 16:34 | ||
hm. with socat we might be able to just set that up without ssh | 16:35 | ||
brrt | pamplemousse: the other thing you can do, of course, is to have a printf in the right place :-) | ||
timotimo | oh, huh, what are filan and procan | ||
brrt | This just looks much, much weirder than I thought it would | 16:36 | |
timotimo | pamplemousse: can you install "socat"? let's try something wild | 16:38 | |
oh, food's herek | 16:39 | ||
pamplemousse | timotimo: I can, but the fun, wild solution may be more trouble than it's worth if my request winds up going through fairly quickly. | 16:41 | |
timotimo | it'll be great, though! | 16:43 | |
i locally have socat TCP-LISTEN:5900 TCP-LISTEN:5901 | |||
you will have TCP:85.216.40.52:5900 TCP:localhost:22 | 16:44 | ||
i think 22 is the ssh port? | |||
if you can run that real quick we can see if it works | |||
pamplemousse: ^- ? :) | 16:47 | ||
16:48
pamplemousse_ joined
|
|||
timotimo | ah! that's not the port i have forwarded! | 16:48 | |
pamplemousse_ | Sorry, connection cut out. | ||
timotimo | TCP:85.216.40.52:4900 TCP:localhost:22 | ||
that is the command that should work | 16:49 | ||
16:49
pamplemousse left,
pamplemousse joined
|
|||
timotimo | hey, you're on an ipv6 now! | 16:49 | |
16:50
pamplemousse_ left
|
|||
timotimo | anyway, food's getting cold :o | 16:50 | |
pamplemousse | You should go eat, sorry for keeping you from your food. I'll install socat and see if I can run the thing | 16:52 | |
timotimo | i can look at the screen from the corner of my eye | ||
of course when you made the connection nothing happens until i try to connect to my local thingie | 16:54 | ||
omg i misread the port number *again* | |||
it's actually 4009 | |||
pamplemousse | Alright, I think I've made the connection | 17:01 | |
brrt | \o/ | 17:03 | |
17:06
brrt left
|
|||
timotimo | OK, i tried to connect and it went unhappy | 17:07 | |
we'll try again after i eated | 17:08 | ||
pamplemousse | Alrighty | ||
17:10
zakharyas left
|
|||
timotimo | OK, let's see what this is all about | 17:18 | |
launching socat with -d should give a bit of information. i also have -D but that seems to be mostly a lot of output that i don't know how to properly parse | |||
pamplemousse | My connection is being refused | 17:24 | |
timotimo | let me try again | ||
i'm running it. 4009, right? | 17:25 | ||
pamplemousse | Yep, 4009. I'll try again | ||
timotimo | wait, i might have put it the wrong way around again | ||
try again please | 17:26 | ||
pamplemousse | Alright, it's hanging now, but it's not refusing the connection | ||
timotimo | that probably means it's connected | ||
now i'm connecting ssh to it | |||
nothing's happening tho :| | |||
i'll kill my socat, tell me if your socat quits, too | |||
with -d -d i get a message that it's listening | 17:27 | ||
pamplemousse | It's no longer hanging, but it didn't give me any message (I also used -d) | 17:28 | |
timotimo | try two -d in a row | ||
i wonder if it's necessary to switch the two arguments around on your end or if it makes no difference | 17:29 | ||
oh, i should also ask, does the ssh server run already? | |||
pamplemousse | Yes, it does | ||
timotimo | if not we can fake a server with socat, too, though listening on port 22 requires root privs of course | 17:30 | |
17:31
robertle joined
|
|||
timotimo | does -d -d give any particular output? | 17:32 | |
aha! | |||
2019/05/21 19:32:47 socat[27084] N accepting connection from AF=2 24.126.148.100:62526 on AF=2 192.168.0.73:4009 | |||
2019/05/21 19:32:47 socat[27084] N listening on AF=2 0.0.0.0:4010 | |||
The authenticity of host '[localhost]:4010 ([127.0.0.1]:4010)' can't be established. | 17:33 | ||
ECDSA key fingerprint is SHA256:H0+q4e1oHapQB8EzjcKyJjDXWPTmRy+uJUtWM30ijTQ. | |||
i expect that's your server | |||
that's great | |||
now all i need to do is give you my ssh public key so that you can put it into ~/.ssh/authorized_keys and you give me the username you did that for | |||
pamplemousse | Okay | 17:35 | |
timotimo | github.com/timo.keys - the first one is the right one, i believe | 17:36 | |
yes, it is the right one | 17:37 | ||
anyway, i started the socat thing up again | 17:38 | ||
you'll also have to make your ~/.ssh and ~/.ssh/authorized_keys unreadable for anyone but your own user | |||
i.e. chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys | 17:39 | ||
at least i think that's right? | |||
pamplemousse | Okay, I'll let you know when I have that done | 17:40 | |
timotimo | thanks | ||
sorry it's such an arduous process, i thought it'd be easier :| | |||
pamplemousse | It's alright, thank you for walking me through it | 17:42 | |
17:46
Kaypie is now known as Kaiepi
18:15
sena_kun left
18:16
sena_kun joined
18:31
pamplemousse_ joined,
pamplemousse_ left
18:33
pamplemousse_ joined
|
|||
pamplemousse_ | timotimo: I think I have everything set up now | 18:33 | |
18:34
pamplemousse left,
pamplemousse_ is now known as pamplemousse
|
|||
timotimo | cool | 18:35 | |
i hope i'll actually be able to help at all, lol | |||
pamplemousse | Hopefully :) | 18:37 | |
timotimo | OK, what's the username? | 18:38 | |
i see the connection | |||
pamplemousse | It's timotimo | ||
18:38
sena_kun left
|
|||
timotimo | cool, i'm connected | 18:38 | |
though i shouldn't be connecting with -vvv, else it'll regularly spam my terminal with debug messages in the worst moments | 18:39 | ||
18:39
sena_kun joined
|
|||
timotimo | ok, do we start a tmux session as "timotimo" or do i connect to a socket you make available to me? | 18:39 | |
i believe you'd "tmux -S /tmp/this-socket-belongs-to-everyone" | 18:41 | ||
chmod the file it creates so timotimo can have it | 18:42 | ||
pamplemousse | Alright, I've done that | 18:47 | |
timotimo | look, it's spooky action-at-a-distance | 18:48 | |
pamplemousse | Are you connected? I can't see anything different. Do we need to be logged in as the same person? | 18:51 | |
This is my first time using tmux | |||
timotimo | i am connected | ||
are you looking at the terminal you did the chmod in? | |||
pamplemousse | I see you now, thanks | 18:52 | |
Kaiepi | iirc if you can't figure out how to exit tmux you just need to press <return><return><tilde><period> | ||
i think it uses cu | 18:53 | ||
timotimo | that will at least kill an ssh session | 18:54 | |
pamplemousse: i'll try switching to a different window, tell me if it switches for you, too | |||
Kaiepi | i'm wrong, it has its own set of special commands | ||
timotimo | the prefix is ctrl-b and then you can do all the things, though of course ctrl-b can be changed | 18:55 | |
pamplemousse: the command is still with -e 'for ^2 { my $cmd = run Ā« echo 1 Ā», :out; $cmd.out.close }' ? | 18:57 | ||
pamplemousse | Yep, it is! I was double checking I had it right | 18:59 | |
timotimo | OK, should we just try running it first? | ||
pamplemousse | Sure | ||
timotimo | is thath ow it usually breaks? | 19:00 | |
pamplemousse | Yes | ||
timotimo | let's see if we can somehow breakpoint that | ||
i see that's the only thing it prints | 19:01 | ||
pamplemousse | It happens when you try to execute this line, if that helps: github.com/rakudo/rakudo/blob/mast...ain.c#L392 | 19:03 | |
timotimo | i see the quality of debug symbols is kind oflacking | ||
there isn't actually a -g in the CFLAGS | 19:04 | ||
let's try running Configure.pl again | |||
looks like the user we're sharing has no access here | 19:05 | ||
if you run the tmux as the madeleine user we'll have shells that can access all that | |||
i'll quit tmux right quick | |||
pamplemousse | Whoops, sorry about that. | 19:06 | |
timotimo | no prob | ||
actually i only detached from the tmux session i think? the socket file at least still exists in /tmp | 19:08 | ||
pamplemousse | Sorry, I'm a little lost. Should I remove the socket file? And then use the same command as earlier to start the tmux session? | 19:11 | |
timotimo | that ought to work | 19:12 | |
is your user in the perl6_people group, too? you may have to chgrp the socket to that group for me to access it | 19:14 | ||
dogbert17 | hmm, just ran a profile on htmlify.p6 while generating the p6 docs | 19:15 | |
timotimo | i hope it didn't crash? | 19:16 | |
dogbert17 | not with MVM_SPESH_DISABLE=1 | ||
timotimo | ow | ||
dogbert17 | it didn't crash with spesh enabled either but all memoey and swap was gobbled up | ||
pamplemousse | Yes, my user is. | 19:17 | |
dogbert17 | anyway, the profile is 31 megs in size | ||
timotimo | that's not too bad for the sql-based profiler at least | ||
pamplemousse: can you chgrp perl6_people /tmp/this-socket-* | |||
dogbert17 | if the numbers in the routine tab, sorted on exclusive time, is to be believed 99% of the time is spent in ThreadPoolScheduler.pm6 | 19:18 | |
pamplemousse | timotimo: done | 19:19 | |
lizmat | dogbert17: that's an artefact of multi-threaded programs, afaik | ||
timotimo | dogbert17: yeah, it's probably some threads that are just waiting for work to appear | ||
dogbert17 | the wors offender is line 612 followed by 278 and 304 | 19:20 | |
*worst | |||
lizmat | 612 is the scheduler loop | 19:21 | |
dogbert17 | aha | ||
timotimo | pamplemousse: the -- in front of debug=3 were missing | ||
it should probably spit out an error for something it doesn't recognize | 19:22 | ||
lizmat | dogbert17: the other two are the general worker started and the affinity worker starter | ||
well, actually the code waiting for stuff to do | |||
timotimo | there's a big difference between wallclock and system/user time there, but i'm not sure how to measure that properly | ||
pamplemousse: how many cores does that machine have? | 19:23 | ||
dogbert17 | isn't that a bit of a false positive then, i.e. the waiting? | 19:24 | |
timotimo | it kind of is, but it is where it's spending time | ||
pamplemousse | timotimo: It has 1. It's a VM. I can change it and reboot the VM if needed | 19:25 | |
timotimo | no need, would just make compiling moarvm faster | ||
dogbert17 | The profiled code did 12350 garbage collections. There were 17 full collections involving the entire heap. | 19:28 | |
timotimo | pamplemousse: i see the thread it just switched to is still running code while the main thread is doing the gc_global_destruction | 19:31 | |
that's probably Very Badā¢ | |||
pamplemousse | That's doesn't sound very good, no | 19:32 | |
*That | |||
timotimo | i'm not sure why the Hello World only comes through once the main thread's IO loop is destroyed? | ||
oh, the hello world doesn't belong to the program being run | 19:33 | ||
that only does "echo 1" | |||
pamplemousse | No, I plugged that in to see if I was even getting that far before things failed out. | ||
Sorry, misleading print statement | |||
timotimo | nah, i do that all the time, too | ||
where does that print statement live? | 19:34 | ||
pamplemousse | It's at MoarVM/src/io/eventloop.c:293 | 19:35 | |
timotimo | the ssh connection has quite some delay from typing to seeing what's up, so i wouldn't want to browse the source over there | ||
pamplemousse | Sorry things are so slow. | 19:36 | |
timotimo | are you from the US? :D | ||
*in* the US | 19:37 | ||
pamplemousse | I am | ||
Yes to both, I mean | 19:38 | ||
The print statement is right before this line: github.com/MoarVM/MoarVM/blob/mast...oop.c#L293 | 19:39 | ||
timotimo | IIUC, ISPs have divided up the US with fixed borders, so they don't have any competition at all and can be as awful as they like | ||
i just tried it locally with valgrind | 19:40 | ||
it looks like doing the uv_loop_close tries to use the instance->event_loop_wakeup while it's going through everything during the uv_loop_close thing | |||
so it may be enough to move the MVM_free of instance->event_loop_wakeup to below the uv_loop_close | 19:41 | ||
well, i say "enough", but really it'd only get rid of the first failure we can see | |||
pamplemousse | Yep, our connection is pretty darn slow most the time and at home, I only have one provider I can get internet through. Not really ideal. Most places only have one ISP. | 19:43 | |
timotimo | i just made that change on your VM | 19:44 | |
the US of A is a joke :( :( | |||
i think we only get the "cannot find method 'name'" error because the VM has only one core and it'd have to do a very lucky switch between the threads to explode in that other way | 19:45 | ||
locally i see it exploding trying to gc_free a mutex inside a MVMConcBlockingQueue | 19:46 | ||
i'm not sure which one it is, but it could very well be the job queue for the ThreadPoolScheduler | 19:47 | ||
hah, i wanted to dump a backtrace from the other thread | 19:48 | ||
but of course the instance is already half-destroyed | |||
so it kind of can't | |||
but yeah, one thread is in pthread_cond_wait on the mutex while the other is trying to uv_mutex_destroy it | 19:49 | ||
the man page for pthread_destroy or whatever it uses says that leads to "undefined behaviour" which in this case is aborting it seems like | |||
we could do something very bold and signal the condition variable before we destroy it | 19:51 | ||
no, that just means another thread will immediately take the lock itself to do whatever | |||
pamplemousse | Sorry, I'm a little lost on where the gc_free that's making it explode is. | 19:54 | |
timotimo | oh, i'm talking about the crash I get | 19:55 | |
let's see what valgrind says about the "cannot find method" one | |||
19:56
robertle left
|
|||
timotimo | if you want to reboot the VM into two cores mode, it'll probably get the crash i'm talking about as well, though only sometimes i guess? | 19:57 | |
pamplemousse | Okay, I can do that. One sec | 19:58 | |
20:07
Kaiepi left
20:08
Kaiepi joined
|
|||
pamplemousse | timotimo: I can see the same crash now | 20:10 | |
timotimo | i started the socat again | 20:15 | |
20:16
sena_kun left
|
|||
pamplemousse | Alright, I'm connecting | 20:16 | |
timotimo | the socket needs the chgrp again | 20:17 | |
pamplemousse | Okay, done | 20:19 | |
timotimo | i should probably point out that valgrind will not simulate multiple threads at the same time, so it won't be useful for this particular crash | ||
pamplemousse | Good to know | 20:20 | |
timotimo | ctrl-b [ will turn on "scroll/copy/select mode" | 20:21 | |
which is what's on right now | |||
you can tell by the thing in the top right, the [0/36] | |||
oh, cool, it did get that crash even with valgrind | |||
you can get out of that scrolling mode by pressing q | 20:22 | ||
OK, i'm not sure what to do next | |||
like, can we get cleaning up at the end to be safe without every code that uses mutexes to know about vm shutdown? | 20:23 | ||
or is it perhaps enough to send a special "btw shut down now please" event to the event queue that the ThreadPoolScheduler listens to | 20:25 | ||
pamplemousse | I think that's a question for someone more familiar with things than I am. | 20:28 | |
timotimo | right, i might even say "invoke the jnthn" | 20:29 | |
but moving the MVM_free for the eventloop_wakeup or what it was can probably go in already | |||
pamplemousse | Alright. I can commit that change and make a pull request | 20:30 | |
Thank you so much for all your help today | |||
timotimo | was this the task to get a start at the moarvm codebase? | ||
pamplemousse | Yes, it was | ||
timotimo | always happy to help contributors :) | ||
jnthn | At the end of the day, if we want to really get mutex cleanup right, I think we'd have to do as the JVM does and implement them ourselves. | 20:34 | |
timotimo | can i say "ugh" :) :) :) | ||
jnthn | Basically, use a condvar per thread for it to be able to be suspended/awoken efficiently | 20:35 | |
And so we control the only real OS-level mutexes that exist | |||
Yes, it's some work, and probably has its own cons, though do-able | |||
timotimo | hm, so when we signal any mutex we'd look through all threads to see if they are currently waiting on it? or something? | 20:36 | |
and then signal their condvar as a stand-in for the actual condvar that was signaled in the first place? | 20:37 | ||
jnthn | Pretty much | 20:38 | |
timotimo | there's probably some documentation on how best to manage the "which thread is waiting on which mutex" data | 20:39 | |
so that if we have like a hundred threads we're not in trouble | |||
also, we've got that mutex we have to lock if we want to go through the list of threads, too | |||
20:51
MasterDuke joined
20:52
MasterDuke left,
MasterDuke joined
21:06
sena_kun joined
|
|||
Geth | MoarVM: pamplemoussecache++ created pull request #1103: Move freeing of event_loop_wakeup to after uv_loop_close |
21:27 | |
jnthn | pamplemousse++ # first PR | 21:38 | |
21:55
pamplemousse left
|
|||
ugexe | github.com/MoarVM/MoarVM/commit/2f...07ddab9e62 this is where windows starts failing that test | 23:01 | |
timotimo | i wonder if the mp_int types are different on the windows machine for some reason | 23:03 | |
MasterDuke | what version of libtommath are we using? maybe there's a newer version | ||
timotimo | like, libtommath has support for changing the sizes of some of the datastructure parts with defines | ||
but i don't think we do any of that on a per-platform basis | |||
23:04
tobs left
|
|||
MasterDuke | git describe in 3rdparty/libtommath say v1.0-rc2-15-g289e346, but it looks like they have a v1.1 tag upstream | 23:05 | |
these two changes might be relevant github.com/libtom/libtommath/blob/...xt#L14-L17 | 23:06 | ||
23:06
sena_kun left
|
|||
timotimo | do we still have our own fork of libtommath that we include? | 23:07 | |
i think we might not actually be using the build system of libtommath | |||
they have mp_set_double and mp_get_double in 1.1.0, we might have our own implementation of that feature that we could replace with something from libtommath | 23:08 | ||
23:11
Kaiepi left
23:12
Kaiepi joined
|
|||
MasterDuke | i don't know how to updated submodules, but if someone creates a PR doing so for libtommath we can see if that fixes anything | 23:12 | |
ugexe | wouldnt we first have to identify the non upstreamed changes? | ||
timotimo | you cd in, you git fetch the remote and git checkout the right commit, then you cd out and "git add" the submodule, then you commit | ||
so pretend the whole folder is just one file, basically | 23:13 | ||
except you can't just do changes in the submodule's files, then "git add"ing the changes from the outside repository | |||
ugexe | also you have to script those steps on windows | 23:15 | |
s/have to/can/ | |||
making the change in the rakudo repo wont work actually, because it needs an older rakudo to do this on appveyor | 23:17 | ||
23:18
tobs joined
23:30
ggoebel left
|