Skip to content

REPL 0.6 completely broken on Ubuntu Lucid #5784

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
ms-tg opened this issue Apr 8, 2013 · 0 comments
Closed

REPL 0.6 completely broken on Ubuntu Lucid #5784

ms-tg opened this issue Apr 8, 2013 · 0 comments

Comments

@ms-tg
Copy link

ms-tg commented Apr 8, 2013

Installed Rust 0.6 using Kevin Catu's PPA. REPL crashes on simplest inputs:

$ rust sketch
WARNING: The Rust REPL is experimental and may be
unstable. If you encounter problems, please use the
compiler instead.
rusti> let a = 1;
<anon>:34:4: 34:7 warning: unused variable: `a`
<anon>:34 let a = 1;
              ^~~
rusti: /build/buildd/rust-0.6/src/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyldELF.cpp:221: void llvm::RuntimeDyldELF::resolveX86_64Relocation(uint8_t*, uint64_t, uint64_t, uint32_t, int64_t): Assertion `RealOffset <= (2147483647) && RealOffset >= (-2147483647-1)' failed.
bors added a commit that referenced this issue May 14, 2013
These few commits address a few existing issues:

* #5469 - adding regression tests for `rusti`. This adds unit tests to the `rusti.rc` file (which needed some reorganization of the Makefile, see the first commit message). These are super-simple right now, and sadly can't test the output of the tests. I worked for a bit on making a compiletest version of the rusti tests, but I ended up hitting something which blocked me, although I've forgotten it by this point.
* #5937 - regression test added, and it's fixed
* #5803 - just doesn't appear to happen any more
* #5784 - it's no longer broken, and it no longer spits out warnings about unused variables.

I also did some investigation into #5774, and you may want to read the comment I left on the bug. The gist of the situation is that C++ exceptions across JIT code don't look like they're working, even though they [should be working](https://github.com/mozilla/rust/blob/3aa1122ec25d15a2a73a295f8298ad9c38b09a10/src/rustllvm/RustWrapper.cpp#L387). If anyone has any insight on this, that would be awesome!
flip1995 added a commit to flip1995/rust that referenced this issue Jul 14, 2020
Fix out of bounds access by checking length equality BEFORE accessing by index.

Fixes rust-lang#5780

changelog: fix out of bounds access in unnested_or_patterns lint.

Edit: I did not bother reducing a testcase from `librustc_typeck` crate but I can confirm that with the change the crash no longer occurs.
flip1995 pushed a commit to flip1995/rust that referenced this issue Jul 14, 2020
Rollup of 5 pull requests

Successful merges:

 - rust-lang#5443 (Some accuracy lints for floating point operations)
 - rust-lang#5752 (Move range_minus_one to pedantic)
 - rust-lang#5756 (unnecessary_sort_by: avoid linting if key borrows)
 - rust-lang#5784 (Fix out of bounds access by checking length equality BEFORE accessing by index.)
 - rust-lang#5786 (fix phrase in new_lint issue template)

Failed merges:

r? @ghost

changelog: rollup
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants