Skip to content

Invalid read on 32-bits introduced by tupocolypse #11003

@garrison

Description

@garrison

Since the merging of the tuple type redesign (#10380), valgrind (with -DMEMDEBUG) frequently reports invalid reads on 32-bits.

Here's a minimal test case: complex([1 2; 3 4], [5 6; 7 8]).

$ valgrind --smc-check=all-non-file ../julia -e "complex([1 2; 3 4], [5 6; 7 8])"
==24698== Memcheck, a memory error detector
==24698== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==24698== Using Valgrind-3.10.0 and LibVEX; rerun with -h for copyright info
==24698== Command: ../julia -e complex([1\ 2;\ 3\ 4],\ [5\ 6;\ 7\ 8])
==24698== 
==24698== Invalid read of size 4
==24698==    at 0x6098806: ???
==24698==    by 0x60986F4: ???
==24698==    by 0x40AAF13: jl_apply (julia.h:1276)
==24698==    by 0x40AED9E: jl_trampoline (builtins.c:1026)
==24698==    by 0x409FAC1: jl_apply (julia.h:1276)
==24698==    by 0x40A5433: jl_apply_generic (gf.c:1720)
==24698==    by 0x4135EC3: jl_apply (julia.h:1276)
==24698==    by 0x4136372: do_call (interpreter.c:63)
==24698==    by 0x4136F6A: eval (interpreter.c:210)
==24698==    by 0x413602C: jl_interpret_toplevel_expr (interpreter.c:25)
==24698==    by 0x415044D: jl_toplevel_eval_flex (toplevel.c:505)
==24698==    by 0x4150546: jl_toplevel_eval (toplevel.c:528)
==24698==  Address 0xfeb24580 is on thread 1's stack
==24698==  16 bytes below stack pointer

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugIndicates an unexpected problem or unintended behaviorregressionRegression in behavior compared to a previous versionsystem:32-bitAffects only 32-bit systems

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions