mahmudov has quit [Remote host closed the connection]
codec1 has joined #ponylang
khan has quit [Quit: khan]
mahmudov has joined #ponylang
dipin has quit [Quit: dipin]
_andre has joined #ponylang
bimawa1 has quit [Ping timeout: 256 seconds]
bimawa1 has joined #ponylang
codec1 has quit [Quit: Leaving.]
zaiste has joined #ponylang
codec1 has joined #ponylang
khan_ has joined #ponylang
mahmudov has quit [Remote host closed the connection]
codec1 has quit [Ping timeout: 276 seconds]
codec2 has joined #ponylang
khan_ has quit [Quit: khan_]
khan has joined #ponylang
dipin has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
ficl has joined #ponylang
acarrico has quit [Ping timeout: 256 seconds]
zaiste has quit [Ping timeout: 256 seconds]
jemc has joined #ponylang
Guest3807 has quit [Ping timeout: 276 seconds]
<ficl>
I've been playing with pony for a week or two, and have written a small program to run a few processes in parallel and process/parse their output and present it to the user. In general everything works as advertised, but occasionally (about 1 in 20) one of the subprocesses doesn't call the disposed method of ProcessNotify, and when I examine the subprocesses the one for which dispose has not been called is stuck in the zombie state, so
<ficl>
this at the moment, but it certainly looks like a bug that _try_shutdown is not called after some events, or that said events are not being sent. Anybody see anything like this? I'm using ponyc 0.21.3 from nix to build on x86_64 linux, no flags passed to the compiler, runtime has 4 threads to match my dual core + HT.
<ficl>
waiting for waitpid to be called. I had a quick look at the source code for the process module, and iiuc waitpid should be triggered by the _event_notify behaviour, as I close the stdin of each process immediately after creation (like the example in the process docs, I used it to get started with this). A quick look at the bug tracker for ponyc didn't show anything interesting or similar. I don't have a test program to demonstrate
dougmacdoug has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
krig has quit [*.net *.split]
strmpnk has quit [*.net *.split]
Amun_Ra has quit [*.net *.split]
ehooper[m] has quit [*.net *.split]
M-hrjet has quit [*.net *.split]
surma has quit [*.net *.split]
dom96 has quit [*.net *.split]
krig has joined #ponylang
surma has joined #ponylang
strmpnk has joined #ponylang
Amun_Ra has joined #ponylang
dom96 has joined #ponylang
dom96 has joined #ponylang
ehooper[m] has joined #ponylang
jmiven has quit [Quit: co'o]
M-hrjet has joined #ponylang
jmiven has joined #ponylang
<jemc>
ficl: I'm not aware of a known issue like this - having a test program to demonstrate would be ideal, but if you could file a ticket for that I think we could probably continue troubleshooting from there
<jemc>
I'm not available at this moment to help troubleshoot, due to my day job, but I definitely want to make sure we help you track down the issue
<ficl>
jemc: thanks, I figured I should sit down and do up a test program to demonstrate it, I also have the day job too, but so far pony is very interesting; I just wanted to ask if anybody had spotted anything like this, it has happened several times that I find something weird in an open source project and it turns out there's already an issue covering it, you just have to ask a question or two and somebody pops up.
inoas has joined #ponylang
<ficl>
looking at the code waitpid is called without WNOHANG, so it should only be called once the process should be closed, but the current code looks a bit risky, afaik there's no way to get a notification that a process has finished without either polling with waitpid(WNOHANG) or calling waitpid with a dedicated thread. SIGCHLD only tells you that a child has finished, not which child, and searching around the pony repo doesn't show
<ficl>
SIGCHLD or signalfd or anything similar in use. I'll put an issue up on github in the next few days.
ficl has quit [Ping timeout: 256 seconds]
inoas has quit [Ping timeout: 256 seconds]
codec2 has quit [Read error: Connection reset by peer]
user10032 has joined #ponylang
jemc has quit [Ping timeout: 246 seconds]
jemc has joined #ponylang
codec1 has joined #ponylang
acarrico has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
_andre has quit [Quit: leaving]
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
inoas has joined #ponylang
vaninwagen has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
jemc has quit [Ping timeout: 240 seconds]
jemc has joined #ponylang
khan has quit [Quit: khan]
khan has joined #ponylang
khan has quit [Client Quit]
khan has joined #ponylang
waratuman has joined #ponylang
waratuman has quit [Client Quit]
khan has quit [Client Quit]
khan has joined #ponylang
codec1 has quit [Read error: Connection reset by peer]
dougmacdoug has quit [Quit: dougmacdoug]
khan has quit [Read error: Connection reset by peer]