> using the rr-debugger on amd64 and recorded 
executions and hardware watchpoints
you can play the crashes forwards and backwards in time;
and have rr (gdb) pinpoint exactly where the memory corruption occurs.

If this is a new idea, to understand the rr (record and
replay deterministically) approach to debugging,
the following youtube video is a great teacher/example. 

Even though it does not use rr itself -- it does
use the exact same principles: deterministic replay, 
running your execution trace backwards to where
the hardware watchpoint is hit. It gives a nice relatable 
and visual demonstration inside a game development 
environment which makes it easy to follow.

https://www.youtube.com/watch?v=72y2EC5fkcE

On Tuesday, October 7, 2025 at 12:55:05 AM UTC+1 Jason E. Aten wrote:

> Actually, it occurs to me that this bug I filed would be perfect for 
> someone 
> who can read x86-64 assembly (I'm pretty bad at it). 
>
> It might be a great first issue if you're interested in 
> how the Go runtime works in that
>
> a) it has several perfect reproducers 
>
> -- by using the rr-debugger on amd64 and recorded 
> executions and hardware watchpoints
> you can play the crashes forwards and backwards in time;
> and have rr (gdb) pinpoint exactly where the memory corruption occurs.
>
> See the recordings available here 
>
>
> https://github.com/glycerine/rr_binary_for_issue74019?tab=readme-ov-file#checking-on-go125-prerelease-at-b062eb46e8
>
> b) it will teach you alot about the Go runtime (initialization
> in particular); and
>
> c) it seems to need the ability to read assembly.
>
> See https://github.com/golang/go/issues/74019 for full detail.
>
> On Tuesday, October 7, 2025 at 12:03:03 AM UTC+1 Jason E. Aten wrote:
>
>> Other folks will have better answers, but you can read
>>
>> https://go.dev/doc/contribute and
>> https://go.dev/wiki/#contributing-to-the-go-project and
>> https://github.com/golang/go/blob/master/src/runtime/HACKING.md
>>
>> to get some basic info.
>>
>> You could look at the open bugs and try to work one. (
>> https://github.com/golang/go/issues )
>>
>> It might help to describe a little more the kinds of things that you are
>> interested in -- you might get better guidance.
>>
>> For assembly-like stuff, I seem to recall that Evan (Phoenix) and 
>> Johan (Brandhorst-Satzkorn)'s work on the next 
>> Go-to-WebAssembly (WASM) compiler iteration might
>> be a bit stalled -- though my information
>> is almost certainly out of date. You might talk to them about
>> where they are at with it. See 
>>
>> https://go.dev/blog/wasi 
>> https://go.dev/wiki/WebAssembly
>> and 
>>
>> https://cloud.google.com/blog/products/application-development/go-1-24-expands-support-for-wasm
>>
>> and the #webassembly and #contributing channels on the Gopher's Slack.
>>
>> On Monday, October 6, 2025 at 6:02:26 PM UTC+1 Kwesi Frempong-Smart wrote:
>>
>>> I have used Go for a while now, I am currently learning x86-64 asm, and 
>>> would love to see how things work on the language/toolchain side. Also 
>>> possibly contribute.
>>>
>>> How can I get started with this? Any beginner-friendly guides to 
>>> understanding the language internals or how to contribute? How do I start 
>>> reading the Go language code since there is no main function (I suppose)?
>>>
>>>

-- 
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 [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/golang-nuts/e270fc90-573f-47c2-a7b1-22f224a875d6n%40googlegroups.com.

Reply via email to