qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] [Bug 1839325] [NEW] Go programs crash on qemu-sh4 due to is


From: John Paul Adrian Glaubitz
Subject: [Qemu-devel] [Bug 1839325] [NEW] Go programs crash on qemu-sh4 due to issues with atomics
Date: Wed, 07 Aug 2019 13:04:20 -0000

Public bug reported:

After #1738545 [1] was fixed, Go applications work fine on qemu-arm but
still crash on qemu-sh4. From the backtrace, it looks like an issue with
the atomics in qemu-sh4:

(sid-sh4-sbuild)root@epyc:/# cat hello.go
package main

import "fmt"

func main() {
      fmt.Println("hello world")
}

(sid-sh4-sbuild)root@epyc:/# gccgo-9 hello.go -o hello
(sid-sh4-sbuild)root@epyc:/# ./hello 
panic: (        runtime runtime.errorString) (0x7f74527c,0x80a038)
fatal error: panic on system stack
panic: (        runtime runtime.errorString) (0x7f74527c,0x80a038)
fatal error: panic on system stack

runtime stack:
runtime..z2finternal..z2fatomic.Load64
        ../../../src/libgo/go/runtime/internal/atomic/atomic.c:37
runtime_mstart
        ../../../src/libgo/runtime/proc.c:596

goroutine 1 [running]:
        goroutine running on other thread; stack unavailable

runtime stack:
runtime..z2finternal..z2fatomic.Load64
        ../../../src/libgo/go/runtime/internal/atomic/atomic.c:37
runtime_mstart
        ../../../src/libgo/runtime/proc.c:596
(sid-sh4-sbuild)root@epyc:/#

The same sample Go program runs fine on my SH7785LCR SH4 evaluation
board:

root@tirpitz:~> uname -a
Linux tirpitz 3.16.7-ckt7 #8 PREEMPT Fri Oct 21 18:47:41 CEST 2016 sh4a 
GNU/Linux
root@tirpitz:~> cat hello.go
package main

import "fmt"

func main() {
      fmt.Println("hello world")
}

root@tirpitz:~> gccgo-9 hello.go -o hello
root@tirpitz:~> ./hello 
hello world
root@tirpitz:~>

Please note: In order to be able to reproduce this, one also needs to
revert commit 61dedf2af7 [2], otherwise the Go application crashes
differently:

(sid-sh4-sbuild)root@epyc:/# ./hello        
Unhandled trap: 0x180
pc=0x7e5f7f9e sr=0x00000000 pr=0x7ee3d582 fpscr=0x00080004
spc=0x00000000 ssr=0x00000000 gbr=0x7e590480 vbr=0x00000000
sgr=0x00000000 dbr=0x00000000 delayed_pc=0x7e5f7f60 fpul=0x00034f3b
r0=0x008007d4 r1=0x00000000 r2=0xfffe0b2a r3=0x00000002
r4=0x008006e4 r5=0x00872000 r6=0x00200000 r7=0x00000000
r8=0x7f7bca7c r9=0x7fffebd4 r10=0x00800480 r11=0x7f7bc0f0
r12=0x7f7a3fa4 r13=0x008004c0 r14=0x7f7b2238 r15=0x7fffebd0
r16=0x00000000 r17=0x00000000 r18=0x00000000 r19=0x00000000
r20=0x00000000 r21=0x00000000 r22=0x00000000 r23=0x00000000
(sid-sh4-sbuild)root@epyc:/#

> [1] https://bugs.launchpad.net/bugs/1738545
> [2] https://bugs.launchpad.net/bugs/1796520

** Affects: qemu
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of qemu-
devel-ml, which is subscribed to QEMU.
https://bugs.launchpad.net/bugs/1839325

Title:
  Go programs crash on qemu-sh4 due to issues with atomics

Status in QEMU:
  New

Bug description:
  After #1738545 [1] was fixed, Go applications work fine on qemu-arm
  but still crash on qemu-sh4. From the backtrace, it looks like an
  issue with the atomics in qemu-sh4:

  (sid-sh4-sbuild)root@epyc:/# cat hello.go
  package main

  import "fmt"

  func main() {
        fmt.Println("hello world")
  }

  (sid-sh4-sbuild)root@epyc:/# gccgo-9 hello.go -o hello
  (sid-sh4-sbuild)root@epyc:/# ./hello 
  panic: (        runtime runtime.errorString) (0x7f74527c,0x80a038)
  fatal error: panic on system stack
  panic: (        runtime runtime.errorString) (0x7f74527c,0x80a038)
  fatal error: panic on system stack

  runtime stack:
  runtime..z2finternal..z2fatomic.Load64
          ../../../src/libgo/go/runtime/internal/atomic/atomic.c:37
  runtime_mstart
          ../../../src/libgo/runtime/proc.c:596

  goroutine 1 [running]:
          goroutine running on other thread; stack unavailable

  runtime stack:
  runtime..z2finternal..z2fatomic.Load64
          ../../../src/libgo/go/runtime/internal/atomic/atomic.c:37
  runtime_mstart
          ../../../src/libgo/runtime/proc.c:596
  (sid-sh4-sbuild)root@epyc:/#

  The same sample Go program runs fine on my SH7785LCR SH4 evaluation
  board:

  root@tirpitz:~> uname -a
  Linux tirpitz 3.16.7-ckt7 #8 PREEMPT Fri Oct 21 18:47:41 CEST 2016 sh4a 
GNU/Linux
  root@tirpitz:~> cat hello.go
  package main

  import "fmt"

  func main() {
        fmt.Println("hello world")
  }

  root@tirpitz:~> gccgo-9 hello.go -o hello
  root@tirpitz:~> ./hello 
  hello world
  root@tirpitz:~>

  Please note: In order to be able to reproduce this, one also needs to
  revert commit 61dedf2af7 [2], otherwise the Go application crashes
  differently:

  (sid-sh4-sbuild)root@epyc:/# ./hello        
  Unhandled trap: 0x180
  pc=0x7e5f7f9e sr=0x00000000 pr=0x7ee3d582 fpscr=0x00080004
  spc=0x00000000 ssr=0x00000000 gbr=0x7e590480 vbr=0x00000000
  sgr=0x00000000 dbr=0x00000000 delayed_pc=0x7e5f7f60 fpul=0x00034f3b
  r0=0x008007d4 r1=0x00000000 r2=0xfffe0b2a r3=0x00000002
  r4=0x008006e4 r5=0x00872000 r6=0x00200000 r7=0x00000000
  r8=0x7f7bca7c r9=0x7fffebd4 r10=0x00800480 r11=0x7f7bc0f0
  r12=0x7f7a3fa4 r13=0x008004c0 r14=0x7f7b2238 r15=0x7fffebd0
  r16=0x00000000 r17=0x00000000 r18=0x00000000 r19=0x00000000
  r20=0x00000000 r21=0x00000000 r22=0x00000000 r23=0x00000000
  (sid-sh4-sbuild)root@epyc:/#

  > [1] https://bugs.launchpad.net/bugs/1738545
  > [2] https://bugs.launchpad.net/bugs/1796520

To manage notifications about this bug go to:
https://bugs.launchpad.net/qemu/+bug/1839325/+subscriptions



reply via email to

[Prev in Thread] Current Thread [Next in Thread]