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
Closed

runtime: map unexpected fault address #23279

ruandao opened this issue Dec 29, 2017 · 11 comments
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.

Comments

@ruandao
Copy link

ruandao 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
Copy link

mdcnz commented Dec 29, 2017

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

@agnivade
Copy link
Contributor

Please provide a small working example that reproes your issue.

@mvdan mvdan added NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided. labels Dec 29, 2017
@mvdan mvdan changed the title golang map unexpected fault address runtime: map unexpected fault address Dec 29, 2017
@ruandao
Copy link
Author

ruandao commented Dec 30, 2017

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

@cznic
Copy link
Contributor

cznic commented Dec 30, 2017

working example just like:

What's needed is the failing example.

@agnivade
Copy link
Contributor

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
Copy link
Contributor

cznic 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
Copy link
Contributor

bcmills 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
Copy link
Contributor

bcmills commented Jan 2, 2018

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

@ruandao
Copy link
Author

ruandao 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
Copy link
Contributor

agnivade 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
Copy link
Contributor

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.
Labels
FrozenDueToAge NeedsInvestigation Someone must examine and confirm this is a valid issue and not a duplicate of an existing one. WaitingForInfo Issue is not actionable because of missing required information, which needs to be provided.
Projects
None yet
Development

No branches or pull requests

8 participants