{"action":"created","issue":{"url":"https://api.github.com/repos/rust-lang/rust/issues/20440","labels_url":"https://api.github.com/repos/rust-lang/rust/issues/20440/labels{/name}","comments_url":"https://api.github.com/repos/rust-lang/rust/issues/20440/comments","events_url":"https://api.github.com/repos/rust-lang/rust/issues/20440/events","html_url":"https://github.com/rust-lang/rust/issues/20440","id":53275585,"number":20440,"title":"Infinite recursive panic on old Linux","user":{"login":"ebadf","id":10213343,"avatar_url":"https://avatars.githubusercontent.com/u/10213343?v=3","gravatar_id":"","url":"https://api.github.com/users/ebadf","html_url":"https://github.com/ebadf","followers_url":"https://api.github.com/users/ebadf/followers","following_url":"https://api.github.com/users/ebadf/following{/other_user}","gists_url":"https://api.github.com/users/ebadf/gists{/gist_id}","starred_url":"https://api.github.com/users/ebadf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebadf/subscriptions","organizations_url":"https://api.github.com/users/ebadf/orgs","repos_url":"https://api.github.com/users/ebadf/repos","events_url":"https://api.github.com/users/ebadf/events{/privacy}","received_events_url":"https://api.github.com/users/ebadf/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/rust-lang/rust/labels/A-linux","name":"A-linux","color":"d7e102"},{"url":"https://api.github.com/repos/rust-lang/rust/labels/I-crash","name":"I-crash","color":"e10c02"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":11,"created_at":"2015-01-02T20:24:59Z","updated_at":"2015-04-04T00:37:12Z","closed_at":"2015-01-20T04:13:39Z","body":"machine:\r\n\r\n    Linux 2.6.38-13-generic-pae #53-Ubuntu SMP Mon Nov 28 19:41:58 UTC 2011 i686 GNU/Linux\r\n\r\nrustc, installed from official binaries (`rust-nightly-i686-unknown-linux-gnu.tar.gz`):\r\n\r\n    rustc 0.13.0-nightly (39d740266 2015-01-01 15:51:08 +0000)\r\n    binary: rustc\r\n    commit-hash: 39d74026663597a8d4ad0ab04e6d117bf9fd6ad4\r\n    commit-date: 2015-01-01 15:51:08 +0000\r\n    host: i686-unknown-linux-gnu\r\n    release: 0.13.0-nightly\r\n\r\ntest file:\r\n\r\n    fn main() {\r\n        println!(\"Hello, world!\");\r\n    }\r\n\r\nexpected result: duh!\r\n\r\nactual result:\r\n\r\n    $ rustc main.rs\r\n    $ ls -al\r\n    -rwxr-xr-x 1 user user 810590 2015-01-02 21:39 main\r\n    -rw-r--r-- 1 user user     49 2015-01-02 21:39 main.rs\r\n    $ ./main \r\n    Illegal instruction\r\n\r\nsame code built with the official 0.12.0 binaries on the same machine works like a charm.\r\n\r\nGDB:\r\n\r\n    $ gdb main\r\n    GNU gdb (GDB) 7.2-ubuntu\r\n        ...   \r\n    (gdb) run\r\n    Starting program: /work_dir/main \r\n    [Thread debugging using libthread_db enabled]\r\n    \r\n    Program received signal SIGBUS, Bus error.\r\n    0xb7f854d3 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    (gdb) bt\r\n    #0  0xb7f854d3 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    #1  0xb7faf5b5 in rust_begin_unwind ()\r\n    #2  0xb7fdc7b4 in panicking::panic_fmt::h54f05751f027ad53eCl ()\r\n    #3  0xb7fb0218 in failure::on_fail::hebe4057108e7dc03xLz ()\r\n    #4  0xb7f85405 in rt::unwind::begin_unwind_inner::h420b24b59a4d3530ypz ()\r\n    #5  0xb7f856a2 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    #6  0xb7faf5b5 in rust_begin_unwind ()\r\n    #7  0xb7fdc7b4 in panicking::panic_fmt::h54f05751f027ad53eCl ()\r\n    #8  0xb7fb0218 in failure::on_fail::hebe4057108e7dc03xLz ()\r\n    #9  0xb7f85405 in rt::unwind::begin_unwind_inner::h420b24b59a4d3530ypz ()\r\n    #10 0xb7f856a2 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    #11 0xb7faf5b5 in rust_begin_unwind ()\r\n    #12 0xb7fdc7b4 in panicking::panic_fmt::h54f05751f027ad53eCl ()\r\n    #13 0xb7fb0218 in failure::on_fail::hebe4057108e7dc03xLz ()\r\n    #14 0xb7f85405 in rt::unwind::begin_unwind_inner::h420b24b59a4d3530ypz ()\r\n    #15 0xb7f856a2 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    #16 0xb7faf5b5 in rust_begin_unwind ()\r\n        ...\r\n    #28141 0xb7faf5b5 in rust_begin_unwind ()\r\n    #28142 0xb7fdc7b4 in panicking::panic_fmt::h54f05751f027ad53eCl ()\r\n    #28143 0xb7fb0218 in failure::on_fail::hebe4057108e7dc03xLz ()\r\n    #28144 0xb7f85405 in rt::unwind::begin_unwind_inner::h420b24b59a4d3530ypz ()\r\n    #28145 0xb7f856a2 in rt::unwind::begin_unwind_fmt::h82a51dddeba5bd4bdnz ()\r\n    #28146 0xb7faf5b5 in rust_begin_unwind ()\r\n    #28147 0xb7fdc7b4 in panicking::panic_fmt::h54f05751f027ad53eCl ()\r\n    #28148 0xb7f95901 in io::stdio::println_args::h52ef5a95413979d5RFg ()\r\n    #28149 0xb7f84910 in main::hf6c852484e660412eaa ()\r\n    #28150 0xb7fb466b in rust_try_inner ()\r\n    #28151 0xb7fb4644 in rust_try ()\r\n    #28152 0xb7fb1745 in rt::lang_start::h91083a532c18f2e8kFz ()\r\n    #28153 0xb7f8496a in main ()\r\n\r\nstrace:\r\n\r\n    $ strace -f -ff ./main \r\n    execve(\"./main\", [\"./main\"], [/* 40 vars */]) = 0\r\n    brk(0)                                  = 0xb7a96000\r\n    access(\"/etc/ld.so.nohwcap\", F_OK)      = -1 ENOENT (No such file or directory)\r\n    mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77e4000\r\n        ...   \r\n    mmap2(0xbf048000, 4096, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xbf048000\r\n    rt_sigaction(SIGSEGV, {0xb7835830, [], SA_STACK|SA_SIGINFO}, NULL, 8) = 0\r\n    rt_sigaction(SIGBUS, {0xb7835830, [], SA_STACK|SA_SIGINFO}, NULL, 8) = 0\r\n    mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb77e2000\r\n    sigaltstack({ss_sp=0xb77e2000, ss_flags=0, ss_size=8192}, NULL) = 0\r\n    mmap2(NULL, 4194304, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb6c00000\r\n    rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0\r\n    --- SIGBUS (Bus error) @ 0 (0) ---\r\n    rt_sigaction(SIGBUS, {SIG_DFL, [BUS], SA_RESTART}, {0xb7835830, [], SA_STACK|SA_SIGINFO}, 8) = 0\r\n    tgkill(29939, 29939, SIGBUS)            = 0   \r\n    --- SIGILL (Illegal instruction) @ 0 (0) ---\r\n    +++ killed by SIGILL +++\r\n    Illegal instruction"},"comment":{"url":"https://api.github.com/repos/rust-lang/rust/issues/comments/89473152","html_url":"https://github.com/rust-lang/rust/issues/20440#issuecomment-89473152","issue_url":"https://api.github.com/repos/rust-lang/rust/issues/20440","id":89473152,"user":{"login":"ebadf","id":10213343,"avatar_url":"https://avatars.githubusercontent.com/u/10213343?v=3","gravatar_id":"","url":"https://api.github.com/users/ebadf","html_url":"https://github.com/ebadf","followers_url":"https://api.github.com/users/ebadf/followers","following_url":"https://api.github.com/users/ebadf/following{/other_user}","gists_url":"https://api.github.com/users/ebadf/gists{/gist_id}","starred_url":"https://api.github.com/users/ebadf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ebadf/subscriptions","organizations_url":"https://api.github.com/users/ebadf/orgs","repos_url":"https://api.github.com/users/ebadf/repos","events_url":"https://api.github.com/users/ebadf/events{/privacy}","received_events_url":"https://api.github.com/users/ebadf/received_events","type":"User","site_admin":false},"created_at":"2015-04-04T00:37:12Z","updated_at":"2015-04-04T00:37:12Z","body":"confirmed with 1.0.0-beta.\r\n\r\n```\r\nrustc 1.0.0-beta (9854143cb 2015-04-02) (built 2015-04-02)\r\nbinary: rustc\r\ncommit-hash: 9854143cba679834bc4ef932858cd5303f015a0e\r\ncommit-date: 2015-04-02\r\nbuild-date: 2015-04-02\r\nhost: i686-unknown-linux-gnu\r\nrelease: 1.0.0-beta\r\n```\r\n\r\nsame environment as used before, rustc invoked with binutils v2.20 in the path yields (a slightly improved - note the message):\r\n```\r\nthread '<unknown>' has overflowed its stack\r\nIllegal instruction\r\n```\r\n\r\nwith binutils v2.25 in the path while invoking rustc - i get the expected result: working \"hello world\". :)\r\n\r\n@alexcrichton: thanks for looking into this.\r\n"}}