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

BoundsError in Pkg.update() #1908

Closed
dronir opened this issue Jan 7, 2013 · 10 comments
Closed

BoundsError in Pkg.update() #1908

dronir opened this issue Jan 7, 2013 · 10 comments
Assignees

Comments

@dronir
Copy link
Contributor

dronir commented Jan 7, 2013

Hi, I just upgraded my Julia from a few weeks old version and when I did Pkg.update(), it eventually failed with a BoundsError().

My .julia/REQUIRE contains

ArgParse
Winston
MCMC

Here's the full output:

julia> Pkg.update()
remote: Counting objects: 614, done.
remote: Compressing objects: 100% (276/276), done.
remote: Total 590 (delta 79), reused 577 (delta 66)
Receiving objects: 100% (590/590), 47.31 KiB, done.
Resolving deltas: 100% (79/79), completed with 1 local objects.
From git://github.com/JuliaLang/METADATA.jl
   12d9f2e..c8bbaa8  master     -> origin/master
Updating 12d9f2e..c8bbaa8
Fast-forward
 .gitattributes                          |    1 +
 .gitignore                              |    1 +
 Cairo/versions/0.0.0/sha1               |    2 +-
 Calculus/url                            |    1 +
 Calculus/versions/0.0.0/sha1            |    1 +
 Calendar/url                            |    1 +
 Calendar/versions/0.0.0/requires        |    1 +
 Calendar/versions/0.0.0/sha1            |    1 +
 Compose/url                             |    1 +
 Compose/versions/0.0.0/sha1             |    1 +
 DataFrames/versions/0.0.0/sha1          |    2 +-
 Debug/versions/0.0.0/sha1               |    2 +-
 Distributions/versions/0.0.0/sha1       |    2 +-
 FITSIO/url                              |    1 +
 FITSIO/versions/0.0.0/sha1              |    1 +
 GLU/url                                 |    1 +
 GLU/versions/0.0.0/requires             |    1 +
 GLU/versions/0.0.0/sha1                 |    1 +
 GLUT/url                                |    1 +
 GLUT/versions/0.0.0/requires            |    3 +++
 GLUT/versions/0.0.0/sha1                |    1 +
 Gadfly/url                              |    1 +
 Gadfly/versions/0.0.0/requires          |    4 ++++
 Gadfly/versions/0.0.0/sha1              |    1 +
 GetC/url                                |    1 +
 GetC/versions/0.0.0/sha1                |    1 +
 Graphs/url                              |    1 +
 Graphs/versions/0.0.0/requires          |    1 +
 Graphs/versions/0.0.0/sha1              |    1 +
 Grid/url                                |    1 +
 Grid/versions/0.0.0/sha1                |    1 +
 HDF5/url                                |    1 +
 HDF5/versions/0.0.0/sha1                |    1 +
 HypothesisTests/url                     |    1 +
 HypothesisTests/versions/0.0.0/sha1     |    1 +
 Ito/url                                 |    1 +
 Ito/versions/0.0.0/requires             |    2 ++
 Ito/versions/0.0.0/sha1                 |    1 +
 JSON/versions/0.0.0/sha1                |    2 +-
 Languages/url                           |    1 +
 Languages/versions/0.0.0/sha1           |    1 +
 Loss/url                                |    1 +
 Loss/versions/0.0.0/sha1                |    1 +
 MAT/url                                 |    1 +
 MAT/versions/0.0.0/requires             |    1 +
 MAT/versions/0.0.0/sha1                 |    1 +
 OpenGL/url                              |    1 +
 OpenGL/versions/0.0.0/requires          |    1 +
 OpenGL/versions/0.0.0/sha1              |    1 +
 Optim/versions/0.0.0/requires           |    3 +++
 Optim/versions/0.0.0/sha1               |    2 +-
 Options/versions/0.0.0/sha1             |    2 +-
 PLX/url                                 |    1 +
 PLX/versions/0.0.0/sha1                 |    1 +
 PatternDispatch/url                     |    1 +
 PatternDispatch/versions/0.0.0/sha1     |    1 +
 ProjectTemplate/url                     |    1 +
 ProjectTemplate/versions/0.0.0/requires |    2 ++
 ProjectTemplate/versions/0.0.0/sha1     |    1 +
 RDatasets/versions/0.0.0/sha1           |    2 +-
 README.md                               |   44 +++++++++++++++++++++++++++++++++++---------
 Rif/url                                 |    1 +
 Rif/versions/0.0.0/sha1                 |    1 +
 SDL/url                                 |    1 +
 SDL/versions/0.0.0/requires             |    3 +++
 SDL/versions/0.0.0/sha1                 |    1 +
 TextAnalysis/url                        |    1 +
 TextAnalysis/versions/0.0.0/requires    |    3 +++
 TextAnalysis/versions/0.0.0/sha1        |    1 +
 Tk/versions/0.0.0/sha1                  |    2 +-
 Winston/versions/0.0.0/sha1             |    2 +-
 71 files changed, 118 insertions(+), 19 deletions(-)
 create mode 100644 .gitattributes
 create mode 100644 Calculus/url
 create mode 100644 Calculus/versions/0.0.0/requires
 create mode 100644 Calculus/versions/0.0.0/sha1
 create mode 100644 Calendar/url
 create mode 100644 Calendar/versions/0.0.0/requires
 create mode 100644 Calendar/versions/0.0.0/sha1
 create mode 100644 Compose/url
 create mode 100644 Compose/versions/0.0.0/requires
 create mode 100644 Compose/versions/0.0.0/sha1
 create mode 100644 FITSIO/url
 create mode 100644 FITSIO/versions/0.0.0/sha1
 create mode 100644 GLU/url
 create mode 100644 GLU/versions/0.0.0/requires
 create mode 100644 GLU/versions/0.0.0/sha1
 create mode 100644 GLUT/url
 create mode 100644 GLUT/versions/0.0.0/requires
 create mode 100644 GLUT/versions/0.0.0/sha1
 create mode 100644 Gadfly/url
 create mode 100644 Gadfly/versions/0.0.0/requires
 create mode 100644 Gadfly/versions/0.0.0/sha1
 create mode 100644 GetC/url
 create mode 100644 GetC/versions/0.0.0/requires
 create mode 100644 GetC/versions/0.0.0/sha1
 create mode 100644 Graphs/url
 create mode 100644 Graphs/versions/0.0.0/requires
 create mode 100644 Graphs/versions/0.0.0/sha1
 create mode 100644 Grid/url
 create mode 100644 Grid/versions/0.0.0/sha1
 create mode 100644 HDF5/url
 create mode 100644 HDF5/versions/0.0.0/sha1
 create mode 100644 HypothesisTests/url
 create mode 100644 HypothesisTests/versions/0.0.0/sha1
 create mode 100644 Ito/url
 create mode 100644 Ito/versions/0.0.0/requires
 create mode 100644 Ito/versions/0.0.0/sha1
 create mode 100644 Languages/url
 create mode 100644 Languages/versions/0.0.0/sha1
 create mode 100644 Loss/url
 create mode 100644 Loss/versions/0.0.0/sha1
 create mode 100644 MAT/url
 create mode 100644 MAT/versions/0.0.0/requires
 create mode 100644 MAT/versions/0.0.0/sha1
 create mode 100644 OpenGL/url
 create mode 100644 OpenGL/versions/0.0.0/requires
 create mode 100644 OpenGL/versions/0.0.0/sha1
 create mode 100644 Optim/versions/0.0.0/requires
 create mode 100644 PLX/url
 create mode 100644 PLX/versions/0.0.0/requires
 create mode 100644 PLX/versions/0.0.0/sha1
 create mode 100644 PatternDispatch/url
 create mode 100644 PatternDispatch/versions/0.0.0/sha1
 create mode 100644 ProjectTemplate/url
 create mode 100644 ProjectTemplate/versions/0.0.0/requires
 create mode 100644 ProjectTemplate/versions/0.0.0/sha1
 create mode 100644 Rif/url
 create mode 100644 Rif/versions/0.0.0/requires
 create mode 100644 Rif/versions/0.0.0/sha1
 create mode 100644 SDL/url
 create mode 100644 SDL/versions/0.0.0/requires
 create mode 100644 SDL/versions/0.0.0/sha1
 create mode 100644 TextAnalysis/url
 create mode 100644 TextAnalysis/versions/0.0.0/requires
 create mode 100644 TextAnalysis/versions/0.0.0/sha1
BoundsError()
 in resolve at /Users/owilkman/julia/usr/share/julia/base/pkgmetadata.jl:181
 in _resolve at /Users/owilkman/julia/usr/share/julia/base/pkg.jl:193
 in anonymous at no file:455
 in cd at file.jl:19
 in cd_pkgdir at /Users/owilkman/julia/usr/share/julia/base/pkg.jl:22
 in update at /Users/owilkman/julia/usr/share/julia/base/pkg.jl:430
@GlenHertz
Copy link
Contributor

I also get this error on Pkg.update. My REQUIRE has:

Winston
DataFrames
Gadfly

@ghost ghost assigned StefanKarpinski Jan 7, 2013
@ViralBShah
Copy link
Member

I am seeing this too now.

@StefanKarpinski
Copy link
Member

Everything is fine up until

_, ws, flag, _ = mixintprog(u,W,-ones(Int,length(I)),nothing,nothing,u,nothing,nothing,mipopts)

At that point random things go horribly wrong – bounds errors that shouldn't happen, segfaults, undefined references, etc. so it seems likely that mixintprog is stomping on the stack.

@StefanKarpinski
Copy link
Member

cc: @carlobaldassi

@GlenHertz
Copy link
Contributor

I also get this error on Pkg.add().

carlobaldassi added a commit that referenced this issue Jan 8, 2013
Using linprog_simplex rahter than mixintprog
seems to solve the issues with Pkg.update()
@carlobaldassi
Copy link
Member

I pushed a hotfix to let people use the system, which just changes linprog_simplex for mixintprog. This seems to work for me, but I have no idea of the reason (please, let me know if this solves this particular issue for everybody). In particular, there is a number of strange facts happening:

  1. the BoundsError() is reported on line 181, which is before the call to mixintprog and seems quite harmless
  2. I sprinkled everything with println's, and it shows that mixinprog is actually being called and executes fine; the computed values are correct (printed them just before the return line, no problem there). It seems that the error occurs right at the return of the first mixintprog call
  3. If I put the update() and resolve() code in a separate file and execute it, everything's fine
  4. There is not really much difference between linprog_simplex and mixintprog, so it's not clear why the former should work and the latter fail

I'll keep investigating, but I may well just not know enough to debug this.

@ViralBShah
Copy link
Member

I am able to do Pkg.update() without the BoundsError now.

@timholy
Copy link
Member

timholy commented Jan 8, 2013

@carlobaldassi, Jeff has struggled mightily to get the line numbers to resolve correctly (see various closed issues and the dirty rotten tricks he's had to pull to keep LLVM from messing this up), but perhaps there's still a corner case. In other words, as you've already discovered, don't trust the line numbers too much.

@WestleyArgentum
Copy link
Member

For anyone looking into this, I think fbbb033 is where the problem started showing up...

Strange

@JeffBezanson
Copy link
Member

If reverting that commit reliably fixes this, then go ahead.

fredrikekre added a commit that referenced this issue Jul 28, 2020
$ git log --pretty=oneline --abbrev=commit f9a5cc7..13456b9
13456b944fd21ec180111c6c29d06b610d47d088 Deprecate the REPL command `] generate` (#1923)
3eee6eb25974c2f320706da1b81ce1f7e1d82165 BinaryPlatforms: Recognize MacOS(:aarch64) (#1916)
a8cc6d670ebe55002c5d5efb7fb19315c0c1cd55 Telemetry CI variables: add CI_SERVER, JULIA_PKGEVAL, JULIA_REGISTRYCI_AUTOMERGE, and PKGEVAL (#1906)
ae897bc44070f902b5b01da80478ed51c1b518c0 Fix invalidations from loading OrderedCollections (#1897)
69bc387b3932d3d709b656e1ef929c4a2592fcee fix path returned from find_install (#1908)
46c9d430d545ecd70b147942857d775b2834e54b Update environments.md (#1896)
20f9b9e14ab59d81991b5984a2f9eb87d38b6230 Merge pull request #1869 from JuliaLang/teh/inval3
605f48849fa6b3bf29e6785967d4ef2249da9976 - only test on nightly, test without Pkg server as well - CI: build docs on nightly
7e0c911591f5d62acb476f74c59a9cad9c7a1f7d Avoid a strange inference limit when broadcasting
f92ee5786468a7d0e836a94b0bb09711faef78da Use `maximum(itr; init=default)`
d524d0f7f8cfef8abe429d3b947157eacb84f8ea Avoid calling ==(::Any, ::Nothing) in read_field
2acb2f9ca7f8b908954d6fdde074b65e30b8395f Add more type info
9b5e38e0ee2a0747b5ca7125a3a1f347cbd61708 Improve inference for Platform
0ebffb95d9793689d4c72198ae4804b0745ee16e Pre-allocate `seen` to improve inference in `unique(f, itr)`
160efbea2b56dc8a7a9a5ed8f795fa8995a4f09b Eliminate some boxing
cdfc445873fc1d5df8838dd080e125bcce587dc6 docs: delete note about gen-project script (#1887)
531861f6677f434f6d594212d1085ac5bc309328 Make tree hash computation non-fatal when installing artifacts. (#1885)
ce4a41ee7d232b90da925fa9ebe246618de8ada4 Misc fixes (#1884)
f80d44345f61d0c1a02650f33322f9a330aa77d1 Disable SIGQUIT test that regularly segfaults on CI. (#1883)
2328d1bcd919bd9fc038af3f1cedf43a22d28e30 telemetry: don't send hash without active project
08fe651707d6deb392950f71c3ea776a2c8337c9 telemetry: use RandomDevice for random values
c213096ea6210f66945443658b6548012dff5ec9 Improve Artifacts documentation by adding a Basic Usage section (#1879)
d8fde7e85b72c86cdae395a1ea13485c193dc35e fix typo in telemetry notice (#1877)
188893dfdb6608cd5bcab18c6d365843cf1c6056 Merge pull request #1871 from JuliaLang/sk/telemetry
ab88ea9c3ea05a70c2e014e6ceb5ce55a7fa9cf7 telemetry notice: reword a bit, factor into function
341dfd0bfafb994bd7c71271d2a458e314f3af4c telemetry: don't send salt hash header
ae99ba2ed9d9cd7f9962a2515fd62054eb644097 telemetry notice: only print once per process
636d333a263640650d09b08a568e8e128bf6c00c Add a poor-mans file lock for telemetry file.
b24ca68ed000139507d179f49a04df7c7b93d14c telemetry: print legal notice first time talking to each pkg server
bd07a8d6439ffbe55f9aaf22ea5e2c451ee480cb telemetry: ~/.julia/servers/telemetry.toml for defaults
70dfbd2c59c4110a6c4775414202b4df840acf21 telemetry: HyperLogLog estimator
3e3f9d7a3baf3a96c860d2b1bc895d5fd2d40d35 README: howto build Julia with git checkout of Pkg (#1864)
100eaa9b0ea0a2b95072c77bdf7060e72479fe13 Fix bug which made `registry up` a no-op instead of updating all user-registries. (#1862)
fredrikekre added a commit that referenced this issue Jul 29, 2020
$ git log --pretty=oneline --abbrev=commit f9a5cc7..13456b9
13456b944fd21ec180111c6c29d06b610d47d088 Deprecate the REPL command `] generate` (#1923)
3eee6eb25974c2f320706da1b81ce1f7e1d82165 BinaryPlatforms: Recognize MacOS(:aarch64) (#1916)
a8cc6d670ebe55002c5d5efb7fb19315c0c1cd55 Telemetry CI variables: add CI_SERVER, JULIA_PKGEVAL, JULIA_REGISTRYCI_AUTOMERGE, and PKGEVAL (#1906)
ae897bc44070f902b5b01da80478ed51c1b518c0 Fix invalidations from loading OrderedCollections (#1897)
69bc387b3932d3d709b656e1ef929c4a2592fcee fix path returned from find_install (#1908)
46c9d430d545ecd70b147942857d775b2834e54b Update environments.md (#1896)
20f9b9e14ab59d81991b5984a2f9eb87d38b6230 Merge pull request #1869 from JuliaLang/teh/inval3
605f48849fa6b3bf29e6785967d4ef2249da9976 - only test on nightly, test without Pkg server as well - CI: build docs on nightly
7e0c911591f5d62acb476f74c59a9cad9c7a1f7d Avoid a strange inference limit when broadcasting
f92ee5786468a7d0e836a94b0bb09711faef78da Use `maximum(itr; init=default)`
d524d0f7f8cfef8abe429d3b947157eacb84f8ea Avoid calling ==(::Any, ::Nothing) in read_field
2acb2f9ca7f8b908954d6fdde074b65e30b8395f Add more type info
9b5e38e0ee2a0747b5ca7125a3a1f347cbd61708 Improve inference for Platform
0ebffb95d9793689d4c72198ae4804b0745ee16e Pre-allocate `seen` to improve inference in `unique(f, itr)`
160efbea2b56dc8a7a9a5ed8f795fa8995a4f09b Eliminate some boxing
cdfc445873fc1d5df8838dd080e125bcce587dc6 docs: delete note about gen-project script (#1887)
531861f6677f434f6d594212d1085ac5bc309328 Make tree hash computation non-fatal when installing artifacts. (#1885)
ce4a41ee7d232b90da925fa9ebe246618de8ada4 Misc fixes (#1884)
f80d44345f61d0c1a02650f33322f9a330aa77d1 Disable SIGQUIT test that regularly segfaults on CI. (#1883)
2328d1bcd919bd9fc038af3f1cedf43a22d28e30 telemetry: don't send hash without active project
08fe651707d6deb392950f71c3ea776a2c8337c9 telemetry: use RandomDevice for random values
c213096ea6210f66945443658b6548012dff5ec9 Improve Artifacts documentation by adding a Basic Usage section (#1879)
d8fde7e85b72c86cdae395a1ea13485c193dc35e fix typo in telemetry notice (#1877)
188893dfdb6608cd5bcab18c6d365843cf1c6056 Merge pull request #1871 from JuliaLang/sk/telemetry
ab88ea9c3ea05a70c2e014e6ceb5ce55a7fa9cf7 telemetry notice: reword a bit, factor into function
341dfd0bfafb994bd7c71271d2a458e314f3af4c telemetry: don't send salt hash header
ae99ba2ed9d9cd7f9962a2515fd62054eb644097 telemetry notice: only print once per process
636d333a263640650d09b08a568e8e128bf6c00c Add a poor-mans file lock for telemetry file.
b24ca68ed000139507d179f49a04df7c7b93d14c telemetry: print legal notice first time talking to each pkg server
bd07a8d6439ffbe55f9aaf22ea5e2c451ee480cb telemetry: ~/.julia/servers/telemetry.toml for defaults
70dfbd2c59c4110a6c4775414202b4df840acf21 telemetry: HyperLogLog estimator
3e3f9d7a3baf3a96c860d2b1bc895d5fd2d40d35 README: howto build Julia with git checkout of Pkg (#1864)
100eaa9b0ea0a2b95072c77bdf7060e72479fe13 Fix bug which made `registry up` a no-op instead of updating all user-registries. (#1862)
simeonschaub pushed a commit to simeonschaub/julia that referenced this issue Aug 11, 2020
$ git log --pretty=oneline --abbrev=commit f9a5cc7..13456b9
13456b944fd21ec180111c6c29d06b610d47d088 Deprecate the REPL command `] generate` (JuliaLang#1923)
3eee6eb25974c2f320706da1b81ce1f7e1d82165 BinaryPlatforms: Recognize MacOS(:aarch64) (JuliaLang#1916)
a8cc6d670ebe55002c5d5efb7fb19315c0c1cd55 Telemetry CI variables: add CI_SERVER, JULIA_PKGEVAL, JULIA_REGISTRYCI_AUTOMERGE, and PKGEVAL (JuliaLang#1906)
ae897bc44070f902b5b01da80478ed51c1b518c0 Fix invalidations from loading OrderedCollections (JuliaLang#1897)
69bc387b3932d3d709b656e1ef929c4a2592fcee fix path returned from find_install (JuliaLang#1908)
46c9d430d545ecd70b147942857d775b2834e54b Update environments.md (JuliaLang#1896)
20f9b9e14ab59d81991b5984a2f9eb87d38b6230 Merge pull request JuliaLang#1869 from JuliaLang/teh/inval3
605f48849fa6b3bf29e6785967d4ef2249da9976 - only test on nightly, test without Pkg server as well - CI: build docs on nightly
7e0c911591f5d62acb476f74c59a9cad9c7a1f7d Avoid a strange inference limit when broadcasting
f92ee5786468a7d0e836a94b0bb09711faef78da Use `maximum(itr; init=default)`
d524d0f7f8cfef8abe429d3b947157eacb84f8ea Avoid calling ==(::Any, ::Nothing) in read_field
2acb2f9ca7f8b908954d6fdde074b65e30b8395f Add more type info
9b5e38e0ee2a0747b5ca7125a3a1f347cbd61708 Improve inference for Platform
0ebffb95d9793689d4c72198ae4804b0745ee16e Pre-allocate `seen` to improve inference in `unique(f, itr)`
160efbea2b56dc8a7a9a5ed8f795fa8995a4f09b Eliminate some boxing
cdfc445873fc1d5df8838dd080e125bcce587dc6 docs: delete note about gen-project script (JuliaLang#1887)
531861f6677f434f6d594212d1085ac5bc309328 Make tree hash computation non-fatal when installing artifacts. (JuliaLang#1885)
ce4a41ee7d232b90da925fa9ebe246618de8ada4 Misc fixes (JuliaLang#1884)
f80d44345f61d0c1a02650f33322f9a330aa77d1 Disable SIGQUIT test that regularly segfaults on CI. (JuliaLang#1883)
2328d1bcd919bd9fc038af3f1cedf43a22d28e30 telemetry: don't send hash without active project
08fe651707d6deb392950f71c3ea776a2c8337c9 telemetry: use RandomDevice for random values
c213096ea6210f66945443658b6548012dff5ec9 Improve Artifacts documentation by adding a Basic Usage section (JuliaLang#1879)
d8fde7e85b72c86cdae395a1ea13485c193dc35e fix typo in telemetry notice (JuliaLang#1877)
188893dfdb6608cd5bcab18c6d365843cf1c6056 Merge pull request JuliaLang#1871 from JuliaLang/sk/telemetry
ab88ea9c3ea05a70c2e014e6ceb5ce55a7fa9cf7 telemetry notice: reword a bit, factor into function
341dfd0bfafb994bd7c71271d2a458e314f3af4c telemetry: don't send salt hash header
ae99ba2ed9d9cd7f9962a2515fd62054eb644097 telemetry notice: only print once per process
636d333a263640650d09b08a568e8e128bf6c00c Add a poor-mans file lock for telemetry file.
b24ca68ed000139507d179f49a04df7c7b93d14c telemetry: print legal notice first time talking to each pkg server
bd07a8d6439ffbe55f9aaf22ea5e2c451ee480cb telemetry: ~/.julia/servers/telemetry.toml for defaults
70dfbd2c59c4110a6c4775414202b4df840acf21 telemetry: HyperLogLog estimator
3e3f9d7a3baf3a96c860d2b1bc895d5fd2d40d35 README: howto build Julia with git checkout of Pkg (JuliaLang#1864)
100eaa9b0ea0a2b95072c77bdf7060e72479fe13 Fix bug which made `registry up` a no-op instead of updating all user-registries. (JuliaLang#1862)
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

8 participants