The full code can be seen in this diff: https://github.com/urandom/go/commit/d10ccdd907dac690bfcb31df1115ce1508775458
The just of it is, I've added an extra field to a struct (the chan) of type unsafe.Pointer. The value is then copied (allegedly) to a target pointer in chanrecv using typedmemmove. The types of both pointers are the same, as defined by the chan's elemtype On Monday, June 8, 2020 at 3:12:18 AM UTC+3, keith....@gmail.com wrote: > > Showing us some code would really help. It's hard to understand what you > are doing from this brief description. Also, where does the SIGBUS occur? > What pc, and what address? > > What types are you passing as the first argument to typedmemmove? Where > did you get them from? > > This is a fine question for golang-dev, but don't expect a whole lot of > help - reaching into the runtime to call typedmemmove is very unsupported. > > On Sunday, June 7, 2020 at 10:02:21 AM UTC-7, Michael Jones wrote: >> >> Thank you. I now officially know that I don’t understand. Sorry. >> >> On Sun, Jun 7, 2020 at 7:54 AM Viktor Kojouharov <vkojo...@gmail.com> >> wrote: >> >>> The pointer is being copied via typedmemmove, which itself calls >>> memmove, which, according to its documentation, copies bytes from the >>> source to the destination. Not sure why that would be impossible, >>> considering it does work for some code (the source pointer preserves its >>> data) >>> >>> Not sure what you mean by "copied via unsafe". Also, the source pointer >>> never goes out of scope. It's part of a struct that is passed to the >>> function that calls typedmemmove, and its lifetime is more or less static. >>> So while the destination pointers go out of scope, the source one never >>> does. >>> >>> >>> On Sunday, June 7, 2020 at 4:45:40 PM UTC+3, Michael Jones wrote: >>>> >>>> Do you mean that you have a problem with the value of the pointer? That >>>> is "copying the pointer." This seems impossible. >>>> >>>> Attempting to access through a pointer copied via unsafe is (generally) >>>> inviting doom, and seems highly possible. The instant the last pointer to >>>> that data goes out of scope the address range occupied by the formerly >>>> pointed to items is formally inaccessible. Using unsafe to keep a shadow >>>> copy of the address and then poking around is quite likely to fail, and >>>> even when it does not, it is quite likely to be meaningless. (random data >>>> from some other use). >>>> >>>> If I misunderstood, please forgive me. >>>> >>>> On Sun, Jun 7, 2020 at 6:15 AM Viktor Kojouharov <vkojo...@gmail.com> >>>> wrote: >>>> >>>>> p.s. should such questions be posted in golang-dev, since it deals >>>>> with runtime internals? >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "golang-nuts" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to golan...@googlegroups.com. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/golang-nuts/71d7fb5c-3ef5-4611-b9ce-299f7b90945eo%40googlegroups.com >>>>> >>>>> <https://groups.google.com/d/msgid/golang-nuts/71d7fb5c-3ef5-4611-b9ce-299f7b90945eo%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >>>> >>>> -- >>>> >>>> *Michael T. jonesmichae...@gmail.com* >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "golang-nuts" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to golan...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/golang-nuts/fa18bf7e-8965-4917-9d81-00a8f43289c3o%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/golang-nuts/fa18bf7e-8965-4917-9d81-00a8f43289c3o%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> >> *Michael T. jonesmichae...@gmail.com* >> > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/golang-nuts/aa037e65-0e2a-47d6-b35c-8e80fc3a8000o%40googlegroups.com.