-
-
Notifications
You must be signed in to change notification settings - Fork 116
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
Fix qualified show rewrite #230
Conversation
CI failures are due to unrelated issues. |
Really nice, @TotalVerb. I also got bit by this in JuliaGraphics/Cairo.jl#143. Unlike you, I got bit "for real" 😦. The test failure on julia-0.3 (linux-only, curiously) is a little bit alarming: " |
I cannot reproduce the problem locally.
|
Let's restart Travis. |
I can reproduce the error on Ubuntu 14.04, julia 0.3 |
I wish I could say this was another symlink failure. But unfortunately I am actually testing the right package. I can't reproduce. Does Travis rebase on master? Maybe it was another change that did this. I will rebase and check. Edit: Unfortunately this branch is up to date already. What an annoying issue. |
Also, we should fix the nightly failures. I think those are in master. |
@tkelman, is the 0.3 failure dependent on this PR? |
Nightly failures see #232. Also shows that the 0.3 failure is dependent on this PR. |
v0.3 failure is hard to reproduce (I have to go through Travis) but I think I've got something licked. It is however extremely strange. Replacing export Nullable, NullException, isnull with export Nullable, NullException, isnull, eltype worked. I suspect there might be a problem with Julia 0.3 itself. If this is memory corruption or another Julia bug, then I can't investigate further. @tkelman, could you have a look? |
To add, I don't think this PR is actually the cause of the issue. I suspect that the underlying issue is something very sensitive to small, possibly unrelated, changes. Memory corruption being the underlying issue also explains why it's so platform dependent. |
Travis is green now (except for v0.5 failure, which is #232). This workaround is not ideal, but I don't want what looks like a probable Julia v0.3 bug holding up this PR, especially if it is hard to fix. |
80d99b4 seems good enough for me. The reproduction was from checking out this branch of @TotalVerb's fork. Thanks for looking into it and finding a fix, @timholy and I had mentioned in person how much we both appreciate the great work you've been doing. |
I'm actually tempted to disallow new tags of packages that support 0.3 once master of Julia has moved on to be 0.6-dev and I change PkgEval to test vs 0.4, 0.5 and 0.6. Right now it still tests against 0.3 but doesn't report it on the web site, I manually check the commit log and so far it's been pretty much only the flaky packages that ever fail on 0.3 since most other packages have moved on to not actively supporting new tags on it any more. |
Oh dear, I think this managed to break JuMP's tests on 0.3? I'm confused how though. Pinning Compat back to v0.8.1 makes them pass. cc @mlubin @joehuchette |
Plenty of evidence that this somehow triggered corruption on 0.3; I am reminded of JuliaLang/julia#13306. If no simple solution presents itself, I vote we retrospectively put a julia-0.4 requirement on Compat, and drop 0.3 support. Probably should retrospectively bump the version to 0.9. |
I do wonder whether corruption was actually introduced in this PR, or if it was always there and this PR just managed to expose it on certain configurations somehow. It seems like a method table issue, but this PR doesn't add or remove any methods. I agree that dropping 0.3 support might be the best option. |
For what it's worth, I can reproduce the JuMP failure. |
I was going to propose adding upper bounds on the Compat requirement to the 0.3-supporting past tags of JuMP. If this change to Compat has introduced some un-fixable issue that only manifests on Julia 0.3, that's as good a reason as any to declare package versions that support 0.3 as frozen from now on. We should raise this somewhere visible, julia-users and maybe also julia-dev and julia-news just so people are aware. |
Likely related - JuliaDiff/TaylorSeries.jl#54 and JuliaDiff/TaylorSeries.jl#53 cc @lbenet |
If this problem occurs on 0.4, then that's another story. I still do not know how this PR is causing the issue. Perhaps the usage of |
The JuMP failure is an off-by-one error introduced in #219, that was exposed by this PR. (It was rewriting Edit: not an off-by-one error, but some undesirable behaviour. Edit: should be fixed by #237. |
* Fix show rewriting * Fix Timer rewriting and add test * Work around v0.3 issue (possible memory corruption?)
This addresses the missing case in #219.
Could a new version be tagged soon? I got hit by this when updating Hiccup. Hiccup tests also didn't catch it, so luckily I double checked! (I noticed the omission in the original PR, but since tests passed I thought it might have been fixed in the interim.)
While debugging this, I noticed that the
Base.Timer
rewrite was untested and didn't actually work. I decided to fix that along the way.