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
cmd/5c: miscompiles *p++ = struct_literal #4643
Labels
Milestone
Comments
When fixed, could revert workaround here: https://code.google.com/p/go/source/detail?r=a5b96b602690 |
The debugging was done like this: * add prints to the GC code * observe it prints: append obj(0x2e9608 24792 0x1eb934) scanblock 0x2e9608 24792 append obj(0x2ef6e0 36328 0x1f282c) scanblock 0x2ef6e0 36328 generic@0xb6e72000 0x10833000 0x0 generic@0xb6e72010 0x10801000 0x0 generic@0xb6e72020 0x1083a000 0x0 generic@0xb6e72030 0x1083a120 0x0 generic@0xb6e72040 0x1083a120 0x0 [...] flushptrbuf@0xb6e72000 0x10833000 0x0 flushptrbuf@0xb6e72008 0x0 0x0 (printing address PtrBuf* and the two fields) * observe that it's weird that the pointer advances by 16 on the enqueue side and by 8 on the flushptrbuf side * observe that sizeof(Ptrbuf) is actually 8 * think WTF aloud * add prints before and after *ptrbufpos++ * disassemble [the actual sequence is more complicated and involves using gdb and adding breakpoints, finding no clue, restarting gdb, still have no clue, disassemble, print regs, have no clue, resort to printf-debugging] |
https://golang.org/cl/7090043/ Labels changed: added priority-soon, removed priority-triage. Status changed to Started. |
This issue was closed by revision c13866d. Status changed to Fixed. |
This issue was closed.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
The text was updated successfully, but these errors were encountered: