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: regression in memmove #16939

Closed
dsnet opened this issue Aug 31, 2016 · 4 comments

Comments

Projects
None yet
5 participants
@dsnet
Copy link
Member

commented Aug 31, 2016

Commit 3607c5f caused a regression.

On my machine, running in a VM:
Kernel: Linux 3.13.0-37-generic
CPU: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
CPU flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx rdtscp lm constant_tsc rep_good nopl pni ssse3 lahf_lm

I see the following crash (using golang/text@09c7ea1):

$ go.tip test golang.org/x/text/search
signal: illegal instruction
FAIL    golang.org/x/text/search    0.002

Running with gdb indicates that it's in memmove.s

$ gdb ./search.test
Starting program: /home/rawr/search.test 

Program received signal SIGILL, Illegal instruction.
runtime.memmove () at /usr/local/go.tip/src/runtime/memmove_amd64.s:345
345     VMOVDQU (SI), Y4

\cc @randall77 @dvnagorny

@dsnet dsnet added this to the Go1.8 milestone Aug 31, 2016

@bradfitz

This comment has been minimized.

Copy link
Member

commented Aug 31, 2016

@dsnet, feel free to revert that change. Reverting & investigating later is a fine strategy.

@davecheney

This comment has been minimized.

Copy link
Contributor

commented Aug 31, 2016

+1, please revert the change.

On Thu, Sep 1, 2016 at 6:37 AM, Brad Fitzpatrick notifications@github.com
wrote:

@dsnet https://github.com/dsnet, feel free to revert that change.
Reverting & investigating later is a fine strategy.


You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
#16939 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAcA9hUaSBMyKpFT0_FwnG-8BMA_iUPks5qleX3gaJpZM4JyA7L
.

@dsnet

This comment has been minimized.

Copy link
Member Author

commented Aug 31, 2016

This change has been reverted, but the github mirror seems to be lagging behind the source repo.

@diegomontoya

This comment has been minimized.

Copy link

commented Sep 1, 2016

For my non-vm system, ./make.bash core dumps with tip (69e7e8a) .

./make.bash: line 173:  2117 Illegal instruction     (core dumped) CC=$CC_FOR_TARGET "$GOTOOLDIR"/go_bootstrap install $GO_FLAGS -gcflags "$GO_GCFLAGS" -ldflags "$GO_LDFLAGS" -v std cmd
model name  : Intel(R) Xeon(R) CPU           X3440  @ 2.53GHz
stepping    : 5
microcode   : 0x7
cpu MHz     : 2533.216
cache size  : 8192 KB
physical id : 0
siblings    : 8
core id     : 3
cpu cores   : 4
apicid      : 7
initial apicid  : 7
fpu     : yes
fpu_exception   : yes
cpuid level : 11
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 popcnt lahf_lm tpr_shadow vnmi flexpriority ept vpid dtherm
bugs        :
bogomips    : 5065.89
clflush size    : 64
cache_alignment : 64
address sizes   : 36 bits physical, 48 bits virtual

Edit: Confirmed. ./make.bash works without error at (04ade8e) which is the commit prior to the memove change.

@gopherbot gopherbot closed this in 6fb4b15 Sep 1, 2016

@golang golang locked and limited conversation to collaborators Sep 1, 2017

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
You can’t perform that action at this time.