gojuno / minimock

Powerful mock generation tool for Go programming language
MIT License
633 stars 38 forks source link

Test failures on 32 bit architectures #59

Closed davide125 closed 2 years ago

davide125 commented 3 years ago

armv7hl: https://koji.fedoraproject.org/koji/taskinfo?taskID=73283110

      testing: github.com/gojuno/minimock
github.com/gojuno/minimock
PASS
ok      github.com/gojuno/minimock  0.011s
github.com/gojuno/minimock/tests
--- FAIL: TestFormatterMock_UnmockedCallFailsTest (0.00s)
panic: unaligned 64-bit atomic operation
    panic: unaligned 64-bit atomic operation [recovered]
    panic: unaligned 64-bit atomic operation
goroutine 7 [running]:
testing.tRunner.func1.2(0x693728, 0x6bcdb0)
    /usr/lib/golang/src/testing/testing.go:1143 +0x294
testing.tRunner.func1(0x1c01880)
    /usr/lib/golang/src/testing/testing.go:1146 +0x3b4
panic(0x693728, 0x6bcdb0)
    /usr/lib/golang/src/runtime/panic.go:965 +0x188
runtime/internal/atomic.panicUnaligned()
    /usr/lib/golang/src/runtime/internal/atomic/unaligned.go:8 +0x2c
runtime/internal/atomic.Load64(0x1d12bac, 0x1c38508, 0x0)
    /usr/lib/golang/src/runtime/internal/atomic/asm_arm.s:263 +0x14
github.com/gojuno/minimock/tests.(*TesterMock).MinimockFatalfDone(0x1d12a80, 0x4cb101)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:931 +0xc4
github.com/gojuno/minimock/tests.(*TesterMock).minimockDone(0x1d12a80, 0x0)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:998 +0x6c
github.com/gojuno/minimock/tests.(*TesterMock).MinimockFinish(0x1d12a80)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:961 +0x1c
panic(0x693728, 0x6bcdb0)
    /usr/lib/golang/src/runtime/panic.go:965 +0x188
runtime/internal/atomic.panicUnaligned()
    /usr/lib/golang/src/runtime/internal/atomic/unaligned.go:8 +0x2c
runtime/internal/atomic.Xadd64(0x1d12bb4, 0x1, 0x0, 0x4ed364, 0x6e4b70)
    /usr/lib/golang/src/runtime/internal/atomic/asm_arm.s:233 +0x14
github.com/gojuno/minimock/tests.(*TesterMock).Fatalf(0x1d12a80, 0x636e20, 0x2e, 0x1c0e220, 0x2, 0x2)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:854 +0x4c
github.com/gojuno/minimock/tests.(*FormatterMock).Format(0x1d0e8a0, 0x637987, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/formatter_mock.go:186 +0x32c
github.com/gojuno/minimock/tests.TestFormatterMock_UnmockedCallFailsTest(0x1c01880)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/formatter_mock_test.go:31 +0x128
testing.tRunner(0x1c01880, 0x6bc52c)
    /usr/lib/golang/src/testing/testing.go:1193 +0xd8
created by testing.(*T).Run
    /usr/lib/golang/src/testing/testing.go:1238 +0x254
exit status 2
FAIL    github.com/gojuno/minimock/tests    0.013s

i686: https://koji.fedoraproject.org/koji/taskinfo?taskID=73283111

      testing: github.com/gojuno/minimock
github.com/gojuno/minimock
PASS
ok      github.com/gojuno/minimock  0.007s
github.com/gojuno/minimock/tests
--- FAIL: TestFormatterMock_UnmockedCallFailsTest (0.00s)
panic: unaligned 64-bit atomic operation
    panic: unaligned 64-bit atomic operation [recovered]
    panic: unaligned 64-bit atomic operation
goroutine 22 [running]:
testing.tRunner.func1.2(0x5680ff60, 0x5683d574)
    /usr/lib/golang/src/testing/testing.go:1143 +0x2ce
testing.tRunner.func1(0x57082fc0)
    /usr/lib/golang/src/testing/testing.go:1146 +0x3fc
panic(0x5680ff60, 0x5683d574)
    /usr/lib/golang/src/runtime/panic.go:971 +0x491
runtime/internal/atomic.panicUnaligned()
    /usr/lib/golang/src/runtime/internal/atomic/unaligned.go:8 +0x38
runtime/internal/atomic.Load64(0x570d6bac, 0x570334d4, 0x0)
    /usr/lib/golang/src/runtime/internal/atomic/asm_386.s:201 +0x10
github.com/gojuno/minimock/tests.(*TesterMock).MinimockFatalfDone(0x570d6a80, 0x567b0b01)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:931 +0xab
github.com/gojuno/minimock/tests.(*TesterMock).minimockDone(0x570d6a80, 0x567b0a15)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:998 +0x64
github.com/gojuno/minimock/tests.(*TesterMock).MinimockFinish(0x570d6a80)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:961 +0x22
panic(0x5680ff60, 0x5683d574)
    /usr/lib/golang/src/runtime/panic.go:971 +0x491
runtime/internal/atomic.panicUnaligned()
    /usr/lib/golang/src/runtime/internal/atomic/unaligned.go:8 +0x38
runtime/internal/atomic.Xadd64(0x570d6bb4, 0x1, 0x0, 0x570a26d0, 0x90)
    /usr/lib/golang/src/runtime/internal/atomic/asm_386.s:107 +0x11
github.com/gojuno/minimock/tests.(*TesterMock).Fatalf(0x570d6a80, 0x567bf08b, 0x2e, 0x570b2200, 0x2, 0x2)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/tester_mock_test.go:854 +0x48
github.com/gojuno/minimock/tests.(*FormatterMock).Format(0x570d28a0, 0x567bfbf2, 0x32, 0x0, 0x0, 0x0, 0x0, 0x0)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/formatter_mock.go:186 +0x35e
github.com/gojuno/minimock/tests.TestFormatterMock_UnmockedCallFailsTest(0x57082fc0)
    /builddir/build/BUILD/minimock-3.0.9/_build/src/github.com/gojuno/minimock/tests/formatter_mock_test.go:31 +0x14d
testing.tRunner(0x57082fc0, 0x5683ccf0)
    /usr/lib/golang/src/testing/testing.go:1193 +0x102
created by testing.(*T).Run
    /usr/lib/golang/src/testing/testing.go:1238 +0x233
exit status 2
FAIL    github.com/gojuno/minimock/tests    0.011s
hexdigest commented 3 years ago

Hi @davide125 ! This is wild, I think it's a Go bug https://github.com/golang/go/issues/599

What version of Go are you using?

davide125 commented 3 years ago

Looks like it's golang 1.16.6

davide125 commented 2 years ago

Looks like this was fixed in 3.0.10, tests are passing on all arches now: https://koji.fedoraproject.org/koji/taskinfo?taskID=78495263

Thanks!