[Issue 15573] @safe code using TLS works in debug; crashes in release

via Digitalmars-d-bugs digitalmars-d-bugs at puremagic.com
Sat Jan 16 16:52:48 PST 2016


https://issues.dlang.org/show_bug.cgi?id=15573

--- Comment #1 from thomas.bockman at gmail.com ---
Here's the complete output of a failed run on my system:

Performing "release" build using dmd for x86_64.
bug ~master: target for configuration "application" is up to date.
To force a rebuild of up-to-date targets, run again with --force.
Running ./bug 

        byte n        = -128
        byte m        = -2
        real theory   = +64
        int practice1 = +0
        int practice2 = +64
        intFlag  = {}
        FAILS: consistent

        byte n        = -127
        byte m        = -2
        real theory   = +63
        int practice1 = +0
        int practice2 = +63
        intFlag  = {}
        FAILS: consistent

        byte n        = -65
        byte m        = -2
        real theory   = +32
        int practice1 = +0
        int practice2 = +32
        intFlag  = {}
        FAILS: consistent

        byte n        = -64
        byte m        = -2
        real theory   = +32
        int practice1 = +0
        int practice2 = +32
        intFlag  = {}
        FAILS: consistent

        byte n        = -63
        byte m        = -2
        real theory   = +31
        int practice1 = +0
        int practice2 = +31
        intFlag  = {}
        FAILS: consistent

        byte n        = -33
        byte m        = -2
        real theory   = +16
        int practice1 = +0
        int practice2 = +16
        intFlag  = {}
        FAILS: consistent

        byte n        = -32
        byte m        = -2
        real theory   = +16
        int practice1 = +0
        int practice2 = +16
        intFlag  = {}
        FAILS: consistent

        byte n        = -31
        byte m        = -2
        real theory   = +15
        int practice1 = +0
        int practice2 = +15
        intFlag  = {}
        FAILS: consistent

        byte n        = -30
        byte m        = -2
        real theory   = +15
        int practice1 = +0
        int practice2 = +15
        intFlag  = {}
        FAILS: consistent

        byte n        = -29
        byte m        = -2
        real theory   = +14
        int practice1 = +0
        int practice2 = +14
        intFlag  = {}
        FAILS: consistent

        byte n        = -28
        byte m        = -2
        real theory   = +14
        int practice1 = +0
        int practice2 = +14
        intFlag  = {}
        FAILS: consistent

        byte n        = -27
        byte m        = -2
        real theory   = +13
        int practice1 = +0
        int practice2 = +13
        intFlag  = {}
        FAILS: consistent

        byte n        = -26
        byte m        = -2
        real theory   = +13
        int practice1 = +0
        int practice2 = +13
        intFlag  = {}
        FAILS: consistent

        byte n        = -25
        byte m        = -2
        real theory   = +12
        int practice1 = +0
        int practice2 = +12
        intFlag  = {}
        FAILS: consistent

        byte n        = -24
        byte m        = -2
        real theory   = +12
        int practice1 = +0
        int practice2 = +12
        intFlag  = {}
        FAILS: consistent

        byte n        = -23
        byte m        = -2
        real theory   = +11
        int practice1 = +0
        int practice2 = +11
        intFlag  = {}
        FAILS: consistent

        byte n        = -22
        byte m        = -2
        real theory   = +11
        int practice1 = +0
        int practice2 = +11
        intFlag  = {}
        FAILS: consistent

        byte n        = -21
        byte m        = -2
        real theory   = +10
        int practice1 = +0
        int practice2 = +10
        intFlag  = {}
        FAILS: consistent

        byte n        = -20
        byte m        = -2
        real theory   = +10
        int practice1 = +0
        int practice2 = +10
        intFlag  = {}
        FAILS: consistent

        byte n        = -19
        byte m        = -2
        real theory   = +9
        int practice1 = +0
        int practice2 = +9
        intFlag  = {}
        FAILS: consistent

        byte n        = -18
        byte m        = -2
        real theory   = +9
        int practice1 = +0
        int practice2 = +9
        intFlag  = {}
        FAILS: consistent

        byte n        = -17
        byte m        = -2
        real theory   = +8
        int practice1 = +0
        int practice2 = +8
        intFlag  = {}
        FAILS: consistent

        byte n        = -16
        byte m        = -2
        real theory   = +8
        int practice1 = +0
        int practice2 = +8
        intFlag  = {}
        FAILS: consistent

        byte n        = -15
        byte m        = -2
        real theory   = +7
        int practice1 = +0
        int practice2 = +7
        intFlag  = {}
        FAILS: consistent

        byte n        = -14
        byte m        = -2
        real theory   = +7
        int practice1 = +0
        int practice2 = +7
        intFlag  = {}
        FAILS: consistent

        byte n        = -13
        byte m        = -2
        real theory   = +6
        int practice1 = +0
        int practice2 = +6
        intFlag  = {}
        FAILS: consistent

        byte n        = -12
        byte m        = -2
        real theory   = +6
        int practice1 = +0
        int practice2 = +6
        intFlag  = {}
        FAILS: consistent

        byte n        = -11
        byte m        = -2
        real theory   = +5
        int practice1 = +0
        int practice2 = +5
        intFlag  = {}
        FAILS: consistent

        byte n        = -10
        byte m        = -2
        real theory   = +5
        int practice1 = +0
        int practice2 = +5
        intFlag  = {}
        FAILS: consistent

        byte n        = -9
        byte m        = -2
        real theory   = +4
        int practice1 = +0
        int practice2 = +4
        intFlag  = {}
        FAILS: consistent

        byte n        = -8
        byte m        = -2
        real theory   = +4
        int practice1 = +0
        int practice2 = +4
        intFlag  = {}
        FAILS: consistent

        byte n        = -7
        byte m        = -2
        real theory   = +3
        int practice1 = +0
        int practice2 = +3
        intFlag  = {}
        FAILS: consistent

        byte n        = -6
        byte m        = -2
        real theory   = +3
        int practice1 = +0
        int practice2 = +3
        intFlag  = {}
        FAILS: consistent

        byte n        = -5
        byte m        = -2
        real theory   = +2
        int practice1 = +0
        int practice2 = +2
        intFlag  = {}
        FAILS: consistent

        byte n        = -4
        byte m        = -2
        real theory   = +2
        int practice1 = +0
        int practice2 = +2
        intFlag  = {}
        FAILS: consistent

        byte n        = -3
        byte m        = -2
        real theory   = +1
        int practice1 = +0
        int practice2 = +1
        intFlag  = {}
        FAILS: consistent

        byte n        = -2
        byte m        = -2
        real theory   = +1
        int practice1 = +0
        int practice2 = +1
        intFlag  = {}
        FAILS: consistent

        byte n        = -1
        byte m        = -2
        real theory   = +0
        int practice = +0
        intFlag  = {divide by zero}
        FAILS: correct

        byte n        = +0
        byte m        = -2
        real theory   = -0
        int practice = +0
        intFlag  = {divide by zero}
        FAILS: correct

        byte n        = +1
        byte m        = -2
        real theory   = -0
        int practice = +0
        intFlag  = {divide by zero}
        FAILS: correct

        byte n        = +2
        byte m        = -2
        real theory   = -1
        int practice1 = +0
        int practice2 = -1
        intFlag  = {}
        FAILS: consistent

        byte n        = +3
        byte m        = -2
        real theory   = -1
        int practice1 = +0
        int practice2 = -1
        intFlag  = {}
        FAILS: consistent

        byte n        = +4
        byte m        = -2
        real theory   = -2
        int practice1 = +0
        int practice2 = -2
        intFlag  = {}
        FAILS: consistent

        byte n        = +5
        byte m        = -2
        real theory   = -2
        int practice1 = +0
        int practice2 = -2
        intFlag  = {}
        FAILS: consistent

        byte n        = +6
        byte m        = -2
        real theory   = -3
        int practice1 = +0
        int practice2 = -3
        intFlag  = {}
        FAILS: consistent

        byte n        = +7
        byte m        = -2
        real theory   = -3
        int practice1 = +0
        int practice2 = -3
        intFlag  = {}
        FAILS: consistent

        byte n        = +8
        byte m        = -2
        real theory   = -4
        int practice1 = +0
        int practice2 = -4
        intFlag  = {}
        FAILS: consistent

        byte n        = +9
        byte m        = -2
        real theory   = -4
        int practice1 = +0
        int practice2 = -4
        intFlag  = {}
        FAILS: consistent

        byte n        = +10
        byte m        = -2
        real theory   = -5
        int practice1 = +0
        int practice2 = -5
        intFlag  = {}
        FAILS: consistent

        byte n        = +11
        byte m        = -2
        real theory   = -5
        int practice1 = +0
        int practice2 = -5
        intFlag  = {}
        FAILS: consistent

        byte n        = +12
        byte m        = -2
        real theory   = -6
        int practice1 = +0
        int practice2 = -6
        intFlag  = {}
        FAILS: consistent

        byte n        = +13
        byte m        = -2
        real theory   = -6
        int practice1 = +0
        int practice2 = -6
        intFlag  = {}
        FAILS: consistent

        byte n        = +14
        byte m        = -2
        real theory   = -7
        int practice1 = +0
        int practice2 = -7
        intFlag  = {}
        FAILS: consistent

        byte n        = +15
        byte m        = -2
        real theory   = -7
        int practice1 = +0
        int practice2 = -7
        intFlag  = {}
        FAILS: consistent

        byte n        = +16
        byte m        = -2
        real theory   = -8
        int practice1 = +0
        int practice2 = -8
        intFlag  = {}
        FAILS: consistent

        byte n        = +17
        byte m        = -2
        real theory   = -8
        int practice1 = +0
        int practice2 = -8
        intFlag  = {}
        FAILS: consistent

        byte n        = +18
        byte m        = -2
        real theory   = -9
        int practice1 = +0
        int practice2 = -9
        intFlag  = {}
        FAILS: consistent

        byte n        = +19
        byte m        = -2
        real theory   = -9
        int practice1 = +0
        int practice2 = -9
        intFlag  = {}
        FAILS: consistent

        byte n        = +20
        byte m        = -2
        real theory   = -10
        int practice1 = +0
        int practice2 = -10
        intFlag  = {}
        FAILS: consistent

        byte n        = +21
        byte m        = -2
        real theory   = -10
        int practice1 = +0
        int practice2 = -10
        intFlag  = {}
        FAILS: consistent

        byte n        = +22
        byte m        = -2
        real theory   = -11
        int practice1 = +0
        int practice2 = -11
        intFlag  = {}
        FAILS: consistent

        byte n        = +23
        byte m        = -2
        real theory   = -11
        int practice1 = +0
        int practice2 = -11
        intFlag  = {}
        FAILS: consistent

        byte n        = +24
        byte m        = -2
        real theory   = -12
        int practice1 = +0
        int practice2 = -12
        intFlag  = {}
        FAILS: consistent

        byte n        = +25
        byte m        = -2
        real theory   = -12
        int practice1 = +0
        int practice2 = -12
        intFlag  = {}
        FAILS: consistent

        byte n        = +26
        byte m        = -2
        real theory   = -13
        int practice1 = +0
        int practice2 = -13
        intFlag  = {}
        FAILS: consistent

        byte n        = +27
        byte m        = -2
        real theory   = -13
        int practice1 = +0
        int practice2 = -13
        intFlag  = {}
        FAILS: consistent

        byte n        = +28
        byte m        = -2
        real theory   = -14
        int practice1 = +0
        int practice2 = -14
        intFlag  = {}
        FAILS: consistent

        byte n        = +29
        byte m        = -2
        real theory   = -14
        int practice1 = +0
        int practice2 = -14
        intFlag  = {}
        FAILS: consistent

        byte n        = +30
        byte m        = -2
        real theory   = -15
        int practice1 = +0
        int practice2 = -15
        intFlag  = {}
        FAILS: consistent

        byte n        = +31
        byte m        = -2
        real theory   = -15
        int practice1 = +0
        int practice2 = -15
        intFlag  = {}
        FAILS: consistent

        byte n        = +32
        byte m        = -2
        real theory   = -16
        int practice1 = +0
        int practice2 = -16
        intFlag  = {}
        FAILS: consistent

        byte n        = +33
        byte m        = -2
        real theory   = -16
        int practice1 = +0
        int practice2 = -16
        intFlag  = {}
        FAILS: consistent

        byte n        = +63
        byte m        = -2
        real theory   = -31
        int practice1 = +0
        int practice2 = -31
        intFlag  = {}
        FAILS: consistent

        byte n        = +64
        byte m        = -2
        real theory   = -32
        int practice1 = +0
        int practice2 = -32
        intFlag  = {}
        FAILS: consistent

        byte n        = +65
        byte m        = -2
        real theory   = -32
        int practice1 = +0
        int practice2 = -32
        intFlag  = {}
        FAILS: consistent

        byte n        = +127
        byte m        = -2
        real theory   = -63
        int practice1 = +0
        int practice2 = -63
        intFlag  = {}
        FAILS: consistent
Program exited with code -8

--


More information about the Digitalmars-d-bugs mailing list