https://bugs.winehq.org/show_bug.cgi?id=38272
Bug ID: 38272 Summary: binaries produced by Go compiler hang when using time.Sleep() and time.Now() is not updated Product: Wine Version: 1.7.38 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: leonbogaert+winehq@gmail.com Distribution: ---
Created attachment 51100 --> https://bugs.winehq.org/attachment.cgi?id=51100 executable + go source of example that hangs forever
When I compile this simple program and run it under wine (1.7, ubuntu 14.04) it hangs indefinitely:
package main
import ( "fmt" "time" )
func main() { fmt.Println("before") fmt.Println(time.Now()) time.Sleep(10 * time.Second) fmt.Println(time.Now()) fmt.Println("after") }
Is there a way I could debug this? Can somebody else reproduce this behavior?
I tried cross-compiling it on my linux laptop and under Windows but it doesn't make a difference: it hangs.
When run on Windows it works fine.
When I directly call the windows sycall Sleep():
package main
import ( "fmt" "time"
"github.com/akavel/winq" )
func main() { var try winq.Try
fmt.Println("before") fmt.Println(time.Now())
try.N("Sleep", 5000)
fmt.Println(time.Now()) fmt.Println("after") }
time.Now() is never updated:
before 2015-03-23 18:41:35.543452 +0100 CET 2015-03-23 18:41:35.543452 +0100 CET after