[ 
https://issues.apache.org/jira/browse/PROTON-1075?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15053132#comment-15053132
 ] 

ASF subversion and git services commented on PROTON-1075:
---------------------------------------------------------

Commit 22c3ee91039d0a53730e60b94bf6cb7dddc24bce in qpid-proton's branch 
refs/heads/master from [~aconway]
[ https://git-wip-us.apache.org/repos/asf?p=qpid-proton.git;h=22c3ee9 ]

PROTON-1075: go: Enable -race by default for go tests, use go tools for 
dependency checking.

Added the -race flag by default with golang go, disabled by default for gccgo as
it does not work for me - errors about circular dependencies.

Removed cumbersome and incorrect CMake code for checking go dependencies, use
the simple go tools instead. `go install` runs each time you run make, but it
does nothing if nothing needs to be done so there is no impact on build times.


> Data races detected in go_test_electron
> ---------------------------------------
>
>                 Key: PROTON-1075
>                 URL: https://issues.apache.org/jira/browse/PROTON-1075
>             Project: Qpid Proton
>          Issue Type: Bug
>          Components: go-binding
>    Affects Versions: 0.11
>            Reporter: Alan Conway
>            Assignee: Alan Conway
>             Fix For: 0.12.0
>
>
> I've been consistently seeing this for a little while:
> (It's on an 8 core machine with F23s go 1.5.1).
> Any ideas?
> Andrew
> 8/20 Testing: go_test_electron
> 8/20 Test: go_test_electron
> Command: "/home/andrew/Work/proton/bld/proton-c/bindings/go/electron.test"
> Directory: 
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron
> "go_test_electron" start time: Dec 07 15:48 EST
> Output:
> ----------------------------------------------------------
> ==================
> WARNING: DATA RACE
> Read by goroutine 6:
>   qpid.apache.org/proton.(*Engine).Inject()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:195
>  +0x
> 57
>   qpid.apache.org/proton.(*Engine).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:230
>  +0x
> 101
>   qpid.apache.org/electron.(*connection).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 37 +0x86
>   qpid.apache.org/electron.closeClientServer()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:78 +0x7e
>   qpid.apache.org/electron.TestClientSendServerReceive.func2()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:101 +0x4c
>   qpid.apache.org/electron.TestClientSendServerReceive()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:158 +0x15fd
>   testing.tRunner()
>       /usr/lib/golang/src/testing/testing.go:456 +0xdc
> Previous write by goroutine 8:
>   qpid.apache.org/proton.(*Engine).Run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:320
>  +0x
> a45
>   qpid.apache.org/electron.(*connection).run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 30 +0x49
> Goroutine 6 (running) created at:
>   testing.RunTests()
>       /usr/lib/golang/src/testing/testing.go:561 +0xaa3
>   testing.(*M).Run()
>       /usr/lib/golang/src/testing/testing.go:494 +0xe4
>   main.main()
>       qpid.apache.org/electron/_test/_testmain.go:64 +0x20f
> Goroutine 8 (running) created at:
>   qpid.apache.org/electron.newConnection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 25 +0xb58
>   qpid.apache.org/electron.(*container).Connection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/container.go:76
>  +0x91
>   qpid.apache.org/electron.newServer.func1()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:50 +0x17d
> ==================
> ==================
> WARNING: DATA RACE
> Read by goroutine 24:
>   qpid.apache.org/proton.(*Engine).Inject()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:195
>  +0x
> 57
>   qpid.apache.org/proton.(*Engine).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:230
>  +0x
> 101
>   qpid.apache.org/electron.(*connection).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 37 +0x86
>   qpid.apache.org/electron.TestClientReceiver()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:204 +0x4aa
>   testing.tRunner()
>       /usr/lib/golang/src/testing/testing.go:456 +0xdc
> Previous write by goroutine 28:
>   qpid.apache.org/proton.(*Engine).Run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:320
>  +0x
> a45
>   qpid.apache.org/electron.(*connection).run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 30 +0x49
> Goroutine 24 (running) created at:
>   testing.RunTests()
>       /usr/lib/golang/src/testing/testing.go:561 +0xaa3
>   testing.(*M).Run()
>       /usr/lib/golang/src/testing/testing.go:494 +0xe4
>   main.main()
>       qpid.apache.org/electron/_test/_testmain.go:64 +0x20f
> Goroutine 28 (running) created at:
>   qpid.apache.org/electron.newConnection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 25 +0xb58
>   qpid.apache.org/electron.(*container).Connection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/container.go:76
>  +0x91
>   qpid.apache.org/electron.newClient()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:61 +0x153
>   qpid.apache.org/electron.newClientServer()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:71 +0x108
>   qpid.apache.org/electron.TestClientReceiver()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:162 +0x68
>   testing.tRunner()
>       /usr/lib/golang/src/testing/testing.go:456 +0xdc
> ==================
> ==================
> WARNING: DATA RACE
> Read by goroutine 34:
>   qpid.apache.org/proton.(*Engine).Inject()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:195
>  +0x
> 57
>   qpid.apache.org/proton.(*Engine).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:230
>  +0x
> 101
>   qpid.apache.org/electron.(*connection).Close()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 37 +0x86
>   qpid.apache.org/electron.closeClientServer()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:78 +0x7e
>   qpid.apache.org/electron.TestTimeouts.func2()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:224 +0x4c
>   qpid.apache.org/electron.TestTimeouts()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:271 +0xb83
>   testing.tRunner()
>       /usr/lib/golang/src/testing/testing.go:456 +0xdc
> Previous write by goroutine 36:
>   qpid.apache.org/proton.(*Engine).Run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/proton/engine.go:320
>  +0x
> a45
>   qpid.apache.org/electron.(*connection).run()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 30 +0x49
> Goroutine 34 (running) created at:
>   testing.RunTests()
>       /usr/lib/golang/src/testing/testing.go:561 +0xaa3
>   testing.(*M).Run()
>       /usr/lib/golang/src/testing/testing.go:494 +0xe4
>   main.main()
>       qpid.apache.org/electron/_test/_testmain.go:64 +0x20f
> Goroutine 36 (running) created at:
>   qpid.apache.org/electron.newConnection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/connection.go:1
> 25 +0xb58
>   qpid.apache.org/electron.(*container).Connection()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/container.go:76
>  +0x91
>   qpid.apache.org/electron.newServer.func1()
>       
> /home/andrew/Work/proton/src/proton-c/bindings/go/src/qpid.apache.org/electron/messaging_test.
> go:50 +0x17d
> ==================
> PASS
> Found 3 data race(s)
> <end of output>
> Test time =   1.05 sec
> ----------------------------------------------------------
> Test Failed.
> "go_test_electron" end time: Dec 07 15:48 EST
> "go_test_electron" time elapsed: 00:00:01
> ----------------------------------------------------------



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to