Re: [go-nuts] query for runtime.reportZombies data race PoC code

2024-11-18 Thread Kurtis Rader
On Mon, Nov 18, 2024 at 10:06 PM Lin Lin wrote: > Yes, I do agree that it's easy to write data race code. > Sorry, I didn't make it clear. I have the data race report, my concerning > is to prove the relation bewteen data race and the crash.The code I want is > actually that can trigger a runtim

Re: [go-nuts] query for runtime.reportZombies data race PoC code

2024-11-18 Thread robert engels
Any data race can cause a crash anywhere, see https://go.dev/doc/articles/race_detector so you need to fix the data races. As for the reasons, from Google Gemini (looks accurate): Yes, a Go data race can definitely cause a runtime crash. Here's why: Undefined Behavior: When two or more goroutine

[go-nuts] Re: HTTP requests to a headless k8s service not getting load balanced with go1.22.7

2024-11-18 Thread Lin Lin
I've ran some tests as follow, failed to see the load balancing in both go1.22 and go1.23. 1. setup a coredns to provide dns service. 2. assign additional IP to the NIC. 3. run 2 http server with flask on each IP address. 4. using http.client to request that server. So I dout if that is a Go be

Re: [go-nuts] query for runtime.reportZombies data race PoC code

2024-11-18 Thread Lin Lin
Yes, I do agree that it's easy to write data race code. Sorry, I didn't make it clear. I have the data race report, my concerning is to prove the relation bewteen data race and the crash.The code I want is actually that can trigger a runtime reportZombies crash. On Tuesday, 19 November 2024 at

Re: [go-nuts] query for runtime.reportZombies data race PoC code

2024-11-18 Thread Kurtis Rader
Your question is not clear. You seem to be saying you have a program that fails for a reason that might be a data race. Have you built and run your program with race detection enabled? If you do so the resulting race detection traceback should provide a clue regarding the nature of the race suffici

[go-nuts] query for runtime.reportZombies data race PoC code

2024-11-18 Thread Lin Lin
Hi, gophers Quite a few issues like https://github.com/golang/go/issues/47513 are caused by DATA RACE. I myselft also ran into one in Go1.17, and data race can be found in the code. But I'm unable to reproduce the issue stably, as I need to some PoC code to make the managers to believe it's cau

Re: [go-nuts] Experience Report: Using Coroutines for Parsing

2024-11-18 Thread roger peppe
On Mon, 18 Nov 2024 at 18:02, Romain Doumenc wrote: > Hi Roger, > > Glad you found this interesting, and thank you for reading ! > > One can obviously always use methods on a structure instead of > coroutines (in the example I provided, the state could be stored in > the tokenizer), and the quest

Re: [go-nuts] Re: memory issues

2024-11-18 Thread 'Keith Randall' via golang-nuts
Indeed, setting -wb=false is going to break ~every program. It is intended only to be used in some very specialized tests (that don't run the code in question). On Sunday, November 17, 2024 at 6:53:35 PM UTC-8 蔺林 wrote: > I'm debugging a similar issue, just out of curiosity why did you set the

[go-nuts] Share your TUIs built with Go

2024-11-18 Thread Alex Pliutau
I personally love Bubble Tea for building interactive TUIs. Have you used it, or something else? Here is the video I made about building a note-taking app with Bubble Tea - https://www.youtube.com/watch?v=_gzypL-Qv-g -- You received this message because you are subscribed to the Google Groups

Re: [go-nuts] Experience Report: Using Coroutines for Parsing

2024-11-18 Thread robert engels
Btw, wasn’t being dismissive of your effort - I only linked to the article (which is pretty old) because it covers many of the same ideas you were discussing - and whenever I get the chance to link to something involving Knuth I am going to take it :) > On Nov 18, 2024, at 12:02 PM, Romain Doum

Re: [go-nuts] mac/windows tcp read-after-deadline expired bug

2024-11-18 Thread robert engels
Great work Steven! Closing Go bugs is always appreciated by the community. > On Nov 18, 2024, at 11:49 AM, Jason E. Aten wrote: > > Brilliant. Yes, that was my bug. Thank you Steven! > > On Monday, November 18, 2024 at 11:30:18 AM UTC-6 Steven Hartland wrote: > I believe the problem you have is

Re: [go-nuts] Experience Report: Using Coroutines for Parsing

2024-11-18 Thread Romain Doumenc
Hi Roger, Glad you found this interesting, and thank you for reading ! One can obviously always use methods on a structure instead of coroutines (in the example I provided, the state could be stored in the tokenizer), and the question is when storing the state on the Go stack directly makes code

Re: [go-nuts] mac/windows tcp read-after-deadline expired bug

2024-11-18 Thread Jason E. Aten
Brilliant. Yes, that was my bug. Thank you Steven! On Monday, November 18, 2024 at 11:30:18 AM UTC-6 Steven Hartland wrote: I believe the problem you have is that your readFull can return a partial read if an error occurs e.g. timeout so when that happens you lose data by overwriting the partia

Re: [go-nuts] mac/windows tcp read-after-deadline expired bug

2024-11-18 Thread Steven Hartland
I believe the problem you have is that your readFull can return a partial read if an error occurs e.g. timeout so when that happens you lose data by overwriting the partial result with the next read. If you apply something like the following, which returns the bytes read and continues the read fro

Re: [go-nuts] Experience Report: Using Coroutines for Parsing

2024-11-18 Thread robert engels
I agree, all you need is generators - that they are implemented with coroutines is immaterial. Take a look at this, and substitute the yield() function for crReturn(). https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html > On Nov 18, 2024, at 10:54 AM, roger peppe wrote: > > Interesti

Re: [go-nuts] Experience Report: Using Coroutines for Parsing

2024-11-18 Thread roger peppe
Interesting! Thanks for sharing. This is related to something that I've been planning to explore for a while now: using iterators themselves and their associated coroutines accessed via `iter.Pull`, to do parsing. That is, instead of gaining access to the underlying coroutine machinery by use of "