-
Notifications
You must be signed in to change notification settings - Fork 15
running an infinite loop gave a malloc deadlock panic #26
Comments
So what, it manages only 11 goroutines with gigs of memory? I wonder if something is overallocating memory for each goroutine. |
there's only two goroutines in this code; one that runs the http server, one that does a for 0->9 for loop. the crash happens during the infinite for loop at the end which is not run in a goroutine |
I haven't looked at this at all yet - I'll try to find some time this weekend - 2 thoughts though:
|
i will try trimming down the code to the bare minimum that reproduces this error and post results |
btw - if either of you think there is a memory allocation issue which there could be - it'd be useful to modify that print statement to show the growth on each iteration |
Ah. I don't speak go, so i was just guessing what the code does without reading it carefully ;-) What's the behaviour of the code if run on a regular OS? Ian's theory sounds a bit sci-fi ;-) (but then again, I really don't know go) |
took a very brief look at this - a few things:
|
re 3: yea I don't know about sleep without digging into it. I'm not sure why it blocks everything else, but I have a hard time imagining how the wakeup works if go handles sleep internally. |
this was fixed in upstream go. Specifically, these are the relevant commits: |
we'd definitely like to track upstream closer - if you want to pull down latest and attempt to merge that'd be great! better yet - would be getting to 1.6 or 1.7! |
unexpected error occurred when running a test app with gorump (was observed with both xen & qemu):
application code:
console output:
The text was updated successfully, but these errors were encountered: