Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

runtime: TestSegv failures with unknown pc on linux/arm #59443

Closed
gopherbot opened this issue Apr 4, 2023 · 4 comments
Closed

runtime: TestSegv failures with unknown pc on linux/arm #59443

gopherbot opened this issue Apr 4, 2023 · 4 comments
Assignees
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Milestone

Comments

@gopherbot
Copy link

gopherbot commented Apr 4, 2023

#!watchflakes
post <- pkg == "runtime" && test == "TestSegv" && goarch ~ `arm` && `unknown pc`

Issue created automatically to collect these failures.

Example (log):

--- FAIL: TestSegv (0.00s)
    --- FAIL: TestSegv/Segv (0.01s)
        crash_cgo_test.go:628: /workdir/tmp/go-build3285146333/testprogcgo.exe Segv: exit status 2
        crash_cgo_test.go:629: SIGSEGV: segmentation violation
            PC=0xf77b2526 m=3 sigcode=0

            trap    0x0
            error   0x0
            oldmask 0x0
            r0      0x0
            r1      0xee7d4bc8
            r2      0x0
            r3      0x8
            r4      0xf77f0968
            r5      0x0
            r6      0x2
            r7      0xaf
            r8      0x102c480
            r9      0x1
            r10     0x1002900
            fp      0xee7d4cf4
            ip      0xaf
            sp      0xee7d4b10
            lr      0xf77ae909
            pc      0xf77b2526
            cpsr    0x870030
            fault   0x0

        crash_cgo_test.go:660: unexpectedly saw "runtime: " in output

watchflakes

@gopherbot gopherbot added the NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. label Apr 4, 2023
@gopherbot
Copy link
Author

Found new dashboard test flakes for:

#!watchflakes
post <- pkg == "runtime" && test == "TestSegv"
2023-04-04 23:08 linux-arm-aws go@449e69f1 runtime.TestSegv (log)
--- FAIL: TestSegv (0.00s)
    --- FAIL: TestSegv/Segv (0.01s)
        crash_cgo_test.go:628: /workdir/tmp/go-build3285146333/testprogcgo.exe Segv: exit status 2
        crash_cgo_test.go:629: SIGSEGV: segmentation violation
            PC=0xf77b2526 m=3 sigcode=0

            trap    0x0
            error   0x0
            oldmask 0x0
            r0      0x0
            r1      0xee7d4bc8
            r2      0x0
            r3      0x8
            r4      0xf77f0968
            r5      0x0
            r6      0x2
            r7      0xaf
            r8      0x102c480
            r9      0x1
            r10     0x1002900
            fp      0xee7d4cf4
            ip      0xaf
            sp      0xee7d4b10
            lr      0xf77ae909
            pc      0xf77b2526
            cpsr    0x870030
            fault   0x0

        crash_cgo_test.go:660: unexpectedly saw "runtime: " in output

watchflakes

@gopherbot gopherbot added the compiler/runtime Issues related to the Go compiler and/or runtime. label Apr 4, 2023
@bcmills bcmills changed the title runtime: TestSegv failures runtime: TestSegv failures with unknown pc on linux/arm Apr 5, 2023
@bcmills
Copy link
Contributor

bcmills commented Apr 5, 2023

Compare #59029, #52963 (CC @cherrymui).

@bcmills bcmills added the arch-arm Issues solely affecting the 32-bit arm architecture. label Apr 5, 2023
@mknyszek mknyszek added this to the Backlog milestone Apr 5, 2023
@gopherbot
Copy link
Author

Change https://go.dev/cl/500535 mentions this issue: runtime: move Segv and TgkillSegv to testprog

gopherbot pushed a commit that referenced this issue Jun 5, 2023
The non-cgo test points Segv and TgkillSegv are currently in
testprogcgo. Although the test points don't explicitly use cgo,
being a cgo program, there is still some C code that runs when
the test point is invoked, such as thread creation code.

For the cgo test points, sometimes we fail to unwind the stack if
C code is involved. For the non-cgo ones, we want to always be
able to unwind the stack, so we check for stack unwinding failures.
But if a signal is landed in the small piece of C code mentioned
above, we may still fail to unwind. Move the non-cgo test points
to a pure-Go program to avoid this problem.

May fix #52963.
Updates #59029, #59443, #59492.

Change-Id: I35d99a0dd4c7cdb627e2083d2414887a24a2822d
Reviewed-on: https://go-review.googlesource.com/c/go/+/500535
Reviewed-by: Michael Knyszek <mknyszek@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Cherry Mui <cherryyz@google.com>
@cherrymui
Copy link
Member

The CL above may help. Tentatively closing for now. If it occurs again watchflakes will reopen.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arch-arm Issues solely affecting the 32-bit arm architecture. compiler/runtime Issues related to the Go compiler and/or runtime. NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one.
Projects
Status: Done
Development

No branches or pull requests

4 participants