New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libuv 1.26 update caused file change notification to be broken on macOS #1178
Comments
If it is broke in libuv then nodejs should also be busted. If one can provide a nodejs example to the libuv folks I'm sure they'll be able to figure out what is up. I just wouldn't expect them to do anything with perl6 code/output. |
libuv is currently at 1.32.0. Nothing stands out in a quick glance at the change log, but maybe we should try another update?
…Sent from my iPhone
On Sep 18, 2019, at 7:11 PM, Vadim Belman ***@***.***> wrote:
This is a follow-up report from rakudo/rakudo#3100. In brief: somewhere between rakudo 2019.03 and 2019.07 IO.watch stopped reporting file changes on macos. As surmised by @jnthn, the likely cause is a515819.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.
|
BTW, Raku/roast#576 has a test for the case. I don't want to merge it though until the problem is resolved. |
Just copying my comment from rakudo/rakudo#3100 (comment) to here: I downgraded to the commit right before that one, and rebuilt (also downgrading nqp and rakudo to versions such that the deps were satisfied) -- and can report that it did not fix the issue -- i.e. this version still failed :
The moarvm,nqp, and rakudo commits to which I downgraded were respectively -- c63e7eb , Raku/nqp@6372077 and rakudo/rakudo@e007642 Here's the output, of running 2019.03.1 (which works), and the above (which doesn't) --
|
Just in case: the libuv comes from a submodule in |
I also just did a |
I re-ran |
@bduggan you can make sure that submodules differ by checking hash of |
|
The problem clearly tracks down to libuv 1.26, commit 62b5816. Here is the proof following. I bisected it using the test in Raku/roast#576. The bisect came up with:
The bump brought in commit d159067. libuv update to 1.26 precedes it by just two commits – 62b5816. Then it's was pure technical test. I take last known good Rakudo commit from bisect ( rakudo/rakudo@4ffb4082b – actually the bad one follows it immediately), then Raku/nqp@da96d399a which is referred by Rakudo at this point. Then I compile everything against the suspected 62b5816 and against immediately preceding 5e36339 which contains libuv v1.23 (that's what the last log entry in the commit says). Here is the results:
So far, the prime suspect is likely to be libuv 1.25 with the following changelog entry:
But this is just my guess so far. |
UPD After building 0a9ccb1 with different versions of libuv I can finally approve that the problematic version is 1.25, the prime suspect is libuv/libuv@2d2af382ce84b91d. Unfortunately, I won't be able to golf a piece code suitable for a ticket on libuv repository until at least after tomorrow. Besides, I never used libuv before (not to mention the long break up with C itself). So, if somebody is willing to help with this I would very much appreciate it! |
You could try a node that uses a broken libuv. A 1 liner using fs.watch
should be pretty similar to perl6
…On Mon, Sep 23, 2019 at 9:50 PM Vadim Belman ***@***.***> wrote:
*UPD* After building 0a9ccb1
<0a9ccb1>
with different versions of libuv I can finally approve that the problematic
version is 1.25, the prime suspect is ***@***.***
<libuv/libuv@2d2af382ce84b91d>.
Unfortunately, I won't be able to golf a piece code suitable for a ticket
on libuv repository until at least after tomorrow. Besides, I never used
libuv before (not to mention the long break up with C itself). So, if
somebody is willing to help with this I would very much appreciate it!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1178?email_source=notifications&email_token=AAB2RBBZM66YNIQREFPYSNTQLF6BDA5CNFSM4IYCCCT2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD7M4KDA#issuecomment-534365452>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAB2RBAMSLIC6EOBIPU2XATQLF6BDANCNFSM4IYCCCTQ>
.
|
Got some time on fresh air today to report the bug on libuv/libuv#2488. It turns out that it's easier to revivify the remains of old C wisdom than to find out which libuv version node is using. |
libuv/libuv@97b85e8 workarounds the bug. Makes sense bumping libuv to the next version when available. |
Version 1.33 is now out. Can someone with a Mac give it a whirl? |
@dogbert17 Manual checkout of 3rdparty/libuv From the point of view of this ticket 1.33.0 is good to go. |
Fixed with eebe39b |
This is a follow-up report from rakudo/rakudo#3100. In brief: somewhere between rakudo 2019.03 and 2019.07
IO.watch
stopped reporting file changes on macos. As surmised by @jnthn, the likely cause is a515819.The text was updated successfully, but these errors were encountered: