Skip to content
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

rmprocs warning when exiting ranges test #12208

Closed
yuyichao opened this issue Jul 19, 2015 · 9 comments
Closed

rmprocs warning when exiting ranges test #12208

yuyichao opened this issue Jul 19, 2015 · 9 comments

Comments

@yuyichao
Copy link
Contributor

On current master, running a single ranges test give the following warning.

yuyichao% ./julia -f test/runtests.jl ranges     
     * ranges               in  24.05 seconds
WARNING: rmprocs: process 1 not removed
    SUCCESS

I could only get this warning from running in the build directory though. The warning somehow disappears when I used the installed version...

Bisect result:

git bisect start
# good: [e65022010305e6bbd3ab70327499fdf3bf3c993d] Merge pull request #11338 from yuyichao/export-interp
git bisect good e65022010305e6bbd3ab70327499fdf3bf3c993d
# bad: [4b757af634597baa5e76c54365d86468d8b112b8] Merge pull request #12172 from ArchRobison/adr/subnormal
git bisect bad 4b757af634597baa5e76c54365d86468d8b112b8
# good: [1b9fc3dd24cd555449d9977cbd85421f3865cbd8] Merge pull request #11815 from JuliaLang/mn/kill@mstr
git bisect good 1b9fc3dd24cd555449d9977cbd85421f3865cbd8
# good: [9d9c4d855bf5d53ded16c4d614547235bb5f665b] Merge pull request #12032 from JuliaLang/jcb/deperr
git bisect good 9d9c4d855bf5d53ded16c4d614547235bb5f665b
# good: [46b81031df284592e15744706af4464f1ccf6eb6] Fix error in sparse lu formula in documentation [skip ci]
git bisect good 46b81031df284592e15744706af4464f1ccf6eb6
# good: [3226819e6d1fd5b0113729c302c563b68292c463] Merge pull request #12179 from JuliaLang/tk/bumpuv
git bisect good 3226819e6d1fd5b0113729c302c563b68292c463
# bad: [824846c76d0f970cd7d5eea9154c7f03d5019371] incremental serialization inferface cleanup
git bisect bad 824846c76d0f970cd7d5eea9154c7f03d5019371
# good: [e78535cfb76e128b6e64aa5c216f3b1193b45a5f] make dump/restore sigatomic
git bisect good e78535cfb76e128b6e64aa5c216f3b1193b45a5f
# bad: [d81f6d2fcaa1ec77402e1e9526886441944ebf24] allow proper backref handling of the element that happened to land at index HT_NOTFOUND
git bisect bad d81f6d2fcaa1ec77402e1e9526886441944ebf24
# bad: [22dfad54137180245db7bb630a9a3f19485e10d6] record binding module in new generic functions
git bisect bad 22dfad54137180245db7bb630a9a3f19485e10d6
# bad: [ef3ec3d31a378566481a05d6e0f707fdf78312ae] reimplement require/include to better support precompilation
git bisect bad ef3ec3d31a378566481a05d6e0f707fdf78312ae
# good: [c8119f8140b8cea7e30ac9626e87e4d72885dabc] give the dump serializer the ability to handle a list of modules to serialize, rather than just a single module
git bisect good c8119f8140b8cea7e30ac9626e87e4d72885dabc
# first bad commit: [ef3ec3d31a378566481a05d6e0f707fdf78312ae] reimplement require/include to better support precompilation

First bad commit is ef3ec3d from #8745

ef3ec3d31a378566481a05d6e0f707fdf78312ae is the first bad commit
commit ef3ec3d31a378566481a05d6e0f707fdf78312ae
Author: Jameson Nash <[email protected]>
Date:   Wed Jul 8 15:33:58 2015 -0400

    reimplement require/include to better support precompilation

    the codepaths through these methods were not particularly amenable to adding incremental precompilation.
    the problem is that the cache-load code paths need to be mirrors of their non-cache counterparts.
    this minimizes the code paths to running "include" to one, and similarly for "reload"/"require"
    those are now limited to only handling module names (symbols), rather than arbitrary paths

    this also fixes a number of issues with the incremental serializer that
    have snuck in over time.

:040000 040000 ab81c489f0eeaa92d552e768fa22bccd0b165462 58497e14ff35bb09bdaa57c1a4e1fd1d752e4cc7 M        base
:040000 040000 d2059df9e086e8283c3d0a3e2107dd9176ba9dd4 8d4d5bae755dac88a39ea0f98add36c7c4f0a089 M        src
:040000 040000 59e3903203201328c4a55c94f456c39ae1962e1c 5b7617dc0c58c912fa8f34fd40988e3160d77412 M        test
:040000 040000 4d926ba22c92c3bee0f64f4f116f95532dc3f56e 3ef2b01808dfa2d09851d1aaf652fb27e2038a2f M        ui

CC. @vtjnash .

P.S. I really appreciate that #8745 is actually bisect-able....

Edit: Sorry I pasted the wrong commit SHA for the link just now (the bisect output is correct)

@amitmurthy
Copy link
Contributor

runtests is defined as

function runtests(name)
    @printf("     \033[1m*\033[0m \033[31m%-20s\033[0m", name)
    tt = @elapsed include("$name.jl")
    @printf(" in %6.2f seconds\n", tt)
    nothing
end

prior to this commit, any variables introduced due to the include were visible only in the function, now, an n in test/ranges.jl is overwriting the value of n in

.

@yuyichao
Copy link
Contributor Author

prior to this commit, any variables introduced due to the include were visible only in the function

IIRC, include execute code in global scope. (just like eval) I don't think there's anyway you can execute arbitrary code at runtime in local scope.

@vtjnash
Copy link
Member

vtjnash commented Jul 19, 2015

i think amit meant the reverse: prior to that commit, include couldn't modify any variable in the runtests file because it was inside an (unnecessary) cd expression: ef3ec3d#diff-fce720c43af3c52c862fd7451c7374b8L5

it may be appropriate to put that back into a let expression, although i still want to go back and try to make #9798 work

@yuyichao
Copy link
Contributor Author

Ah. I see. that makes sense.

@tkelman
Copy link
Contributor

tkelman commented Jul 19, 2015

At least last year that cd was necessary. Are you sure removing it didn't break Base.runtests ?

@yuyichao
Copy link
Contributor Author

FWIW, ./julia test/runtests.jl ranges was broken for a few commit around this but was fixed later.

@tkelman
Copy link
Contributor

tkelman commented Jul 19, 2015

edit: #12212

@tkelman
Copy link
Contributor

tkelman commented Jul 20, 2015

warning should be gone from a93d1eb (github didn't auto-close with "fixing #"), but parallel tests from outside of the test directory are still broken by the removal of the cd

@yuyichao
Copy link
Contributor Author

Yeah, confirmed that the warning disappears on current master. Thx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants