Bug ID 1048226
Summary devel:languages:go: Bug
Classification openSUSE
Product openSUSE.org
Version unspecified
Hardware x86-64
OS openSUSE 42.2
Status NEW
Severity Normal
Priority P5 - None
Component 3rd party software
Assignee graham@andtech.eu
Reporter valient@gmail.com
QA Contact opensuse-communityscreening@forge.provo.novell.com
Found By ---
Blocker ---

Go 1.8 does not work in race mode.  Using Go from the devel:languages:go
project: https://build.opensuse.org/project/show/devel:languages:go

> zypper search --details -x go
...
i+ | go   | package    | 1.8.3-224.1  | x86_64 | The Go Programming Language
(openSUSE_Leap_42.2)


Tsan symbols are not found when using -race mode:

> go test -race ...
# testmain
runtime.RaceErrors: relocation target __tsan_report_count not defined
runtime.raceinit: relocation target __tsan_init not defined
runtime.raceinit: relocation target __tsan_map_shadow not defined
runtime.racefini: relocation target __tsan_fini not defined
runtime.raceproccreate: relocation target __tsan_proc_create not defined
runtime.raceprocdestroy: relocation target __tsan_proc_destroy not defined
runtime.racemapshadow: relocation target __tsan_map_shadow not defined
runtime.racemalloc: relocation target __tsan_malloc not defined
runtime.racefree: relocation target __tsan_free not defined
runtime.racegostart: relocation target __tsan_go_start not defined
runtime.racegoend: relocation target __tsan_go_end not defined
runtime.raceacquireg: relocation target __tsan_acquire not defined
runtime.racereleaseg: relocation target __tsan_release not defined
runtime.racereleasemergeg: relocation target __tsan_release_merge not defined
runtime.racefingo: relocation target __tsan_finalizer_goroutine not defined
runtime.RaceDisable: relocation target __tsan_go_ignore_sync_begin not defined
runtime.RaceEnable: relocation target __tsan_go_ignore_sync_end not defined
runtime.raceread: relocation target __tsan_read not defined
runtime.racereadpc: relocation target __tsan_read_pc not defined
runtime.racewrite: relocation target __tsan_write not defined
runtime.racewritepc: relocation target __tsan_write_pc not defined
/usr/lib64/go/1.8/pkg/tool/linux_amd64/link: too many errors



There are alternative libtsan0 packages, so I have tried using libtsan0 and
libtsan0-gcc5, with the same results.  

> zypper search libtsan --details
Loading repository data...
Reading installed packages...

S  | Name                    | Summary                                         
 | Type   
---+-------------------------+---------------------------------------------------+--------
   | libtsan0                | The GNU Compiler Thread Sanitizer Runtime
Library | package
   | libtsan0-gcc48          | The GNU Compiler Thread Sanitizer Runtime
Library | package
i+ | libtsan0-gcc5           | The GNU Compiler Thread Sanitizer Runtime
Library | package
   | libtsan0-gcc6           | The GNU Compiler Thread Sanitizer Runtime
Library | package
   | libtsan0-gcc6-debuginfo | Debug information for package libtsan0-gcc6     
 | package



Checking on one of the missing symbols, they appear to be available:
> readelf -Ws /usr/lib64/libtsan.so.0 | grep tsan_init
  1308: 00000000000608b0    21 FUNC    GLOBAL DEFAULT   13 __tsan_init


You are receiving this mail because: