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: map unexpected fault address #23279

Closed
ruandao opened this issue Dec 29, 2017 · 11 comments

Comments

Projects
None yet
8 participants
@ruandao
Copy link

commented Dec 29, 2017

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

1.9.1

Does this issue reproduce with the latest release?

never teset

What operating system and processor architecture are you using (go env)?

windows, amd64

What did you do?

If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

What did you expect to see?

What did you see instead?

I run code like this:

  v["beginTime"].(float64)          // v was map[string]interface{}
unexpected fault address 0xffffffffffffffff
fatal error: fault
[signal 0xc0000005 code=0x0 addr=0xffffffffffffffff pc=0x45cb91]

goroutine 58 [running]:
runtime.throw(0x93330c, 0x5)
	C:/Go/src/runtime/panic.go:605 +0x9c fp=0xc0426dd8b0 sp=0xc0426dd890 pc=0x42e33c
runtime.sigpanic()
	C:/Go/src/runtime/signal_windows.go:164 +0x14e fp=0xc0426dd8e0 sp=0xc0426dd8b0 pc=0x44396e
runtime.memeqbody()
	C:/Go/src/runtime/asm_amd64.s:1431 +0xd1 fp=0xc0426dd8e8 sp=0xc0426dd8e0 pc=0x45cb91
runtime.mapaccess1_faststr(0x8ad380, 0xc0447d3f80, 0x936ab8, 0x9, 0xc0449ad3a8)
	C:/Go/src/runtime/hashmap_fast.go:234 +0xd9 fp=0xc0426dd940 sp=0xc0426dd8e8 pc=0x40c089
main.(*Hub).run(0xc04268c100)
	

the hashmap_fast.go:234 was:

if k.str == key.str || memequal(k.str, key.str, uintptr(key.len))

@mdcnz

This comment has been minimized.

Copy link

commented Dec 29, 2017

Could you please provide more information? The specific code mentioned appears valid by itself:
v["beginTime"].(float64)
play

@agnivade

This comment has been minimized.

Copy link
Member

commented Dec 29, 2017

Please provide a small working example that reproes your issue.

@mvdan mvdan changed the title golang map unexpected fault address runtime: map unexpected fault address Dec 29, 2017

@ruandao

This comment has been minimized.

Copy link
Author

commented Dec 30, 2017

normal it run well, but occasionally it panic
working example just like:
play

@cznic

This comment has been minimized.

Copy link
Contributor

commented Dec 30, 2017

working example just like:

What's needed is the failing example.

@agnivade

This comment has been minimized.

Copy link
Member

commented Dec 30, 2017

I think @ruandao means to say normally the example runs fine. It just panics occasionally. And that is the example which does that.

@ruandao - The code seems legit to me. I am running linux though. And also, using the raw println function is not very idiomatic. fmt.Println is recommended. Are you sure this is the exact code which panics in your machine ? You did say "just like", so wanted to make sure whether your code is "similar" to this, or it is "actually" this.

@cznic

This comment has been minimized.

Copy link
Contributor

commented Dec 30, 2017

Then an example including a loop and a note like "fails randomly at i between X and Y on my computer" would have been sufficient. Note that sharing the values of X and Y is essential in such case for the person trying to fix the issue, because it may not reproduce on other machine at all.

@bcmills

This comment has been minimized.

Copy link
Member

commented Jan 2, 2018

This is probably a duplicate of #22781. If so, it should be fixed in 1.9.3 (or with https://golang.org/cl/79018 patched in).

@bcmills

This comment has been minimized.

Copy link
Member

commented Jan 2, 2018

Hmm, but the fix for #22781 didn't touch the mapassign_faststr variant. Still, it could be related.

@ruandao

This comment has been minimized.

Copy link
Author

commented Jan 3, 2018

yes it normally runs fine. It just panics occasionally.
I say "just like" means my code is "similar" to this
@agnivade

@agnivade

This comment has been minimized.

Copy link
Member

commented Jan 3, 2018

@ruandao - can you try with the 1.10 beta release and see if your issue is fixed ? 1.9.3 hasn't released yet.

Also, it would help if you can give us the "exact" code which fails rather than something similar. This is just to rule out any oversight or other interfering factors.

@ianlancetaylor

This comment has been minimized.

Copy link
Contributor

commented Mar 28, 2018

Timed out.

@golang golang locked and limited conversation to collaborators Mar 28, 2019

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.