{"action":"created","issue":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/11003","labels_url":"https://api.github.com/repos/JuliaLang/julia/issues/11003/labels{/name}","comments_url":"https://api.github.com/repos/JuliaLang/julia/issues/11003/comments","events_url":"https://api.github.com/repos/JuliaLang/julia/issues/11003/events","html_url":"https://github.com/JuliaLang/julia/issues/11003","id":70869528,"number":11003,"title":"Invalid read on 32-bits introduced by tupocolypse","user":{"login":"garrison","id":91987,"avatar_url":"https://avatars.githubusercontent.com/u/91987?v=3","gravatar_id":"","url":"https://api.github.com/users/garrison","html_url":"https://github.com/garrison","followers_url":"https://api.github.com/users/garrison/followers","following_url":"https://api.github.com/users/garrison/following{/other_user}","gists_url":"https://api.github.com/users/garrison/gists{/gist_id}","starred_url":"https://api.github.com/users/garrison/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/garrison/subscriptions","organizations_url":"https://api.github.com/users/garrison/orgs","repos_url":"https://api.github.com/users/garrison/repos","events_url":"https://api.github.com/users/garrison/events{/privacy}","received_events_url":"https://api.github.com/users/garrison/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/JuliaLang/julia/labels/32-bit","name":"32-bit","color":"fef2c0"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/bug","name":"bug","color":"e10c02"},{"url":"https://api.github.com/repos/JuliaLang/julia/labels/regression","name":"regression","color":"ff2510"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":20,"created_at":"2015-04-25T07:25:49Z","updated_at":"2015-05-16T03:18:12Z","closed_at":null,"body":"Since the merging of the tuple type redesign (#10380), valgrind (with `-DMEMDEBUG`) frequently reports invalid reads on 32-bits.\r\n\r\nHere's a minimal test case: `complex([1 2; 3 4], [5 6; 7 8])`.\r\n\r\n    $ valgrind --smc-check=all-non-file ../julia -e \"complex([1 2; 3 4], [5 6; 7 8])\"\r\n    ==24698== Memcheck, a memory error detector\r\n    ==24698== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.\r\n    ==24698== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info\r\n    ==24698== Command: ../julia -e complex([1\\ 2;\\ 3\\ 4],\\ [5\\ 6;\\ 7\\ 8])\r\n    ==24698== \r\n    ==24698== Invalid read of size 4\r\n    ==24698==    at 0x6098806: ???\r\n    ==24698==    by 0x60986F4: ???\r\n    ==24698==    by 0x40AAF13: jl_apply (julia.h:1276)\r\n    ==24698==    by 0x40AED9E: jl_trampoline (builtins.c:1026)\r\n    ==24698==    by 0x409FAC1: jl_apply (julia.h:1276)\r\n    ==24698==    by 0x40A5433: jl_apply_generic (gf.c:1720)\r\n    ==24698==    by 0x4135EC3: jl_apply (julia.h:1276)\r\n    ==24698==    by 0x4136372: do_call (interpreter.c:63)\r\n    ==24698==    by 0x4136F6A: eval (interpreter.c:210)\r\n    ==24698==    by 0x413602C: jl_interpret_toplevel_expr (interpreter.c:25)\r\n    ==24698==    by 0x415044D: jl_toplevel_eval_flex (toplevel.c:505)\r\n    ==24698==    by 0x4150546: jl_toplevel_eval (toplevel.c:528)\r\n    ==24698==  Address 0xfeb24580 is on thread 1's stack\r\n    ==24698==  16 bytes below stack pointer\r\n"},"comment":{"url":"https://api.github.com/repos/JuliaLang/julia/issues/comments/102567362","html_url":"https://github.com/JuliaLang/julia/issues/11003#issuecomment-102567362","issue_url":"https://api.github.com/repos/JuliaLang/julia/issues/11003","id":102567362,"user":{"login":"yuyichao","id":712232,"avatar_url":"https://avatars.githubusercontent.com/u/712232?v=3","gravatar_id":"","url":"https://api.github.com/users/yuyichao","html_url":"https://github.com/yuyichao","followers_url":"https://api.github.com/users/yuyichao/followers","following_url":"https://api.github.com/users/yuyichao/following{/other_user}","gists_url":"https://api.github.com/users/yuyichao/gists{/gist_id}","starred_url":"https://api.github.com/users/yuyichao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuyichao/subscriptions","organizations_url":"https://api.github.com/users/yuyichao/orgs","repos_url":"https://api.github.com/users/yuyichao/repos","events_url":"https://api.github.com/users/yuyichao/events{/privacy}","received_events_url":"https://api.github.com/users/yuyichao/received_events","type":"User","site_admin":false},"created_at":"2015-05-16T03:18:12Z","updated_at":"2015-05-16T03:18:12Z","body":"@Keno Correct me if I'm wrong. Does this mean that if a signal handler kicks in at the right time, it can corrupt the stack variable?"}}