IRC channel logs

2021-12-19.log

back to list of logs

<ArneBab>anyone looking at my request for inclusion in the Guile project so I can merge simple patches? https://savannah.gnu.org/projects/guile/
***sneek_ is now known as sneek
<spk121>ArneBab: Looks like ossau, civodul, and wingo are the admins on savannah, so one of them would have to do it
<ArneBab>spk121: thank you!
<ArneBab>taw10: I finally solved day 9 puzzle 2 — puzzle was still nice, but puzzle 2 got much too long: https://www.draketo.de/software/advent-of-wisp-code-2021.html#day-9-puzzle-2
<cbaines>I've got a Guile process that's running out of file descriptors
<cbaines>lsof shows there's lots of FIFO pipe's, but I'm not sure where they're coming from
<cbaines>Any ideas?
<civodul>cbaines: hi! i do "ls -l /proc/PID/fd" to get an idea in such situations
<cbaines>It's full of things like:
<cbaines>l-wx------ 1 chris chris 64 Dec 19 16:28 82 -> 'pipe:[38135167]'
<civodul>you'll have to find out what's creating pipes in your program
<civodul>and what's forgetting to close them
<lampilelo>a common mistake is closing a pipe with close-port instead of close-pipe
<cbaines>I'm guessing opening a pipe looks something like: pipe2([437, 440], O_CLOEXEC) = 0 (in strace)
<civodul>yes
<civodul>lampilelo: that leaves zombies behind, but it still closes file descriptors
<lampilelo>afaik it reaps fds on garbage collection
<lampilelo>whereas close-pipe gets rid of them immediately
<cbaines>Does #<input-output: socket 451> in Guile represent a pipe?
<civodul>(pipe) returns something like: (#<input: #{read pipe}# 13> . #<output: #{write pipe}# 14>)
<civodul>so i guess "no"
<spk121>civodul: I can't believe you took the time to package guile-plotutils. That's awesome
<civodul>spk121: i was enticed by the blurb, i wanted to see plots from the 90s :-)
<cbaines>so, turns out this was more of a symptom than the problem
<cbaines>from the strace output, I think the pipes are something Guile manages related to threads
<cbaines>and I had too many threads running
<taw10>ArneBab: I didn't find 8/2 too bad. I'm finding handling 2D arrays in Scheme to be quite uncomfortable, and there are a lot of them in the later problems
<taw10>Struggling a bit with 15 and later, to be honest. I found myself wanting an "array-index-fold", implemented it (quite painfully, but successfully), then found another way