Repository navigation
Closed
Description
Running make stage2/std.o VALGRIND_COMPILE=1 on Linux reports the following:
==15459== Conditional jump or move depends on uninitialised value(s)
==15459== at 0x80DA7CD: _rust_fn960_middle_ty_ty_to_str (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x8072DA6: _rust_fn730_middle_trans_make_scalar_cmp_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x80709E0: _rust_fn728_middle_trans_make_cmp_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x806C938: _rust_fn715_middle_trans_make_generic_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x807CA3E: _rust_fn747_middle_trans_lazily_emit_tydesc_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x807E196: _rust_fn751_middle_trans_call_cmp_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x8072603: _rust_fn729_middle_trans_make_cmp_glue_inner (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x83651CE: _rust_thunk3515_middle_trans_make_cmp_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x807584E: _rust_fn738_middle_trans_iter_structural_ty_full (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x807163C: _rust_fn728_middle_trans_make_cmp_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x806C938: _rust_fn715_middle_trans_make_generic_glue (in /home/brian/Dev/rust/build/stage1/rustc)
==15459== by 0x807CA3E: _rust_fn747_middle_trans_lazily_emit_tydesc_glue (in /home/brian/Dev/rust/build/stage1/rustc)
I believe this test case reproduces the issue although the error manifests in a different way (it reproduces something!):
use std;
import std::option;
import std::option::none;
tag sty {
ty_nil;
}
type raw_t = rec(sty struct,
option::t[str] cname,
uint hash);
fn mk_raw_ty(sty st, &option::t[str] cname) -> raw_t {
ret rec(struct=st,
cname=cname,
hash=0u);
}
fn main() {
mk_raw_ty(ty_nil, none[str]);
}
On the test case valgrind reports:
==15590== Conditional jump or move depends on uninitialised value(s)
==15590== at 0x80496C3: _rust_fn1_mk_raw_ty (in /home/brian/Dev/rust/build/test/run-pass/compare.stage1)
==15590== by 0x8049743: _rust_fn2_main (in /home/brian/Dev/rust/build/test/run-pass/compare.stage1)
==15590== by 0x804945E: rust_exit_task_glue (in /home/brian/Dev/rust/build/test/run-pass/compare.stage1)
It seems to be related to the alias parameter, but changing just about anything in the test case makes the bug go into hiding.
Metadata
Metadata
Assignees
Labels
No labels
Activity
Add a regression test for issue #374 (XFAILed)
brson commentedon May 14, 2011
Checked in the test case as run-pass/alias-uninit-value.rs in ec30c71
Merge pull request rust-lang#374 from bjorn3/dependabot/cargo/libc-0.…
Silence macos conversion warnings (rust-lang#374)
Merge pull request rust-lang#374 from rust-lang/fix/eh-frame
Free up disk space to ensure successful execution of jobs (rust-lang#374
Add Fast Inverse Square Root Tests and Amicable Numbers (rust-lang#374)
Merge rust-lang#374
Merge pull request rust-lang#374 from solson/cleanups