jemc changed the topic of #ponylang to: Welcome! Please check out our Code of Conduct => https://github.com/ponylang/ponyc/blob/master/CODE_OF_CONDUCT.md | Public IRC logs are available => http://irclog.whitequark.org/ponylang | Please consider participating in our mailing lists => https://pony.groups.io/g/pony
samuell has quit [Quit: Leaving]
inoas has joined #ponylang
SenasOzys has quit [Remote host closed the connection]
inoas has quit [Quit: inoas]
<winksaville> @SeanTAllen, are you around?
<SeanTAllen> passing through winksaville
<SeanTAllen> what's up?
<winksaville> I've looking into 2297 Spurious process manager test failures and getting a few low frequency errors.
<SeanTAllen> Yeah, they dont always happen but they do from time to time
<SeanTAllen> In CI
<SeanTAllen> ive never had a chance to really chase them down
<winksaville> I've seen errors from net/Broadcast, process/TestFileExecCapabilityIsRequired, process/_TestNonExecutablePathResultsInExecveError
<SeanTAllen> net/Broadcast is different
<SeanTAllen> ive never seen those particular process errors. thats interesting
<winksaville> Yea, ping != pong, has that been seen in CI?
<SeanTAllen> net/Broadcast fails if you have a firewall running otherwise, ive never seen it fail
<SeanTAllen> ive never seen the others
<winksaville> No firewall, net/Broadcast runs many many times and had one failure
<SeanTAllen> would be interesting to know why TestFileExecCapabilityIsRequired, failed
<SeanTAllen> probably for the reasons that jemc and i posited
<SeanTAllen> actually huh
<SeanTAllen> not sure why that would fail
<SeanTAllen> ive never seen it fail
<winksaville> The weirdest error is that stdlib "hangs".
<winksaville> stdlib is "stopping" but never completes
<winksaville> One thread (the main thread I think) is in pthread_join
<SeanTAllen> that means there's an actor that isnt leaving a socket/file etc open (or more than 1)
<SeanTAllen> yeah main will be in pthread_join waiting for the scheduler threads to exit
<winksaville> 1 Thread 0x7fa7364b56c0 (LWP 27438) "stdlib" 0x00007fa73533a43d in pthread_join ()
<winksaville> 2 Thread 0x7fa72be05700 (LWP 27440) "stdlib" 0x00005653b9506499 in run_thread ()
<SeanTAllen> yup that is normal
<winksaville> 3 Thread 0x7fa721e05700 (LWP 27445) "stdlib" 0x00007fa73534389f in do_sigwait ()
<SeanTAllen> o that is interesting
<SeanTAllen> that looks like why you are hainging
<winksaville> So three threads are active, main is waiting for the others to "stop"
<SeanTAllen> #3 appears to be why its hanging
<winksaville> Thread 2 is "running"
<winksaville> Thread 3 is waiting to be awoken
<SeanTAllen> o actually no
<winksaville> The other 4 threads have terminated
<winksaville> (is there a way to paste multiple lines into this chat?)
<SeanTAllen> that sigwait would be from the new scheduler work til dynamicly change the number of threads
<SeanTAllen> post a gist.
<winksaville> Ok
<SeanTAllen> i pinged dipinhora to see if he thinks my idea of what could be causing the hang makes sense (in which case we'd need to do a fix)
<SeanTAllen> if you run with --ponythreads=1 you wouldnt get that hanging (assuming that i am correct)
<winksaville> Here's scheduler.c with printf's
<SeanTAllen> yeah im pretty sure i know the bug. waiting to hear back from dipin.
jemc has joined #ponylang
<winksaville> SG, at the moment I've got gdb attached to stdlib in the hung state.
<winksaville> It took 25mins for the hang to occur and has happend at 3 times. But has taken anywhere from 15 to 45min of running stdlib in a loop.
<SeanTAllen> hmmm
<SeanTAllen> actually
<SeanTAllen> is there a thread 4?
<SeanTAllen> or is thread 3 the last one?
<winksaville> 3 is the last one
<SeanTAllen> ok
<SeanTAllen> god
<SeanTAllen> * good
<SeanTAllen> that means my idea makes sense
<SeanTAllen> in particular:
<SeanTAllen> @winksaville note from dipin:
<SeanTAllen> so my bug idea might be wrong
<SeanTAllen> unless its related to signals specifically
<SeanTAllen> in the PR i linked to earlier are instructions for using pthreads instead of signals for "sleeping" shceduler threads
<winksaville> So want me to retest and abandon my current debug session?
<SeanTAllen> ¯\_(ツ)_/¯
<SeanTAllen> seems like we might have a hanging issue
<SeanTAllen> and we have the process manager bug
<SeanTAllen> pick whichever you want to chase after
<SeanTAllen> fixing either would be good
<SeanTAllen> process manager might be easier to track down
<winksaville> So I'm doing "both" at the moment, I was really saying abandon the gdb session. i.e. ctrl-c out of stdlib loop and recompile and retest
<winksaville> Other info: ponyc was compiled on my Arch Linux system with llvm 5.0 and default_pic=true. stdlib was compiled with -d and running --sequential
<SeanTAllen> ah well
<SeanTAllen> llvm 5.0 is also experimentally
<SeanTAllen> i assume that would have no impact here
<winksaville> This is on my desktop system
<winksaville> which has 12 HThreads on my laptop with 4 HThreads it hasn't hung after hours of running.
<winksaville> Anyway, I'll keep trudging along and see what I learn.
<SeanTAllen> huh
<SeanTAllen> interesting
<winksaville> Anyway, I'll compile for pthreads next and see what happens
<SeanTAllen> cool
<SeanTAllen> thanks for taking on the process manager issue
<SeanTAllen> definitely a big win once we fix that
<winksaville> np, its a way to learn something new, I assume you're on the east coast of US, so I'll let you go.
khan has joined #ponylang
endformationage has joined #ponylang
SenasOzys has joined #ponylang
jemc has quit [Ping timeout: 264 seconds]
endformationage has quit [Quit: WeeChat 1.9.1]
_whitelogger has joined #ponylang
<winksaville> I created bug "Running stdlib in a loop can hang #2445" https://github.com/ponylang/ponyc/issues/2445
<winksaville> good night
dipin has quit [Quit: dipin]
khan has quit [Quit: khan]
mson_ has joined #ponylang
_whitelogger has joined #ponylang
mson_ is now known as mson
koczurekk has joined #ponylang
koczurekk has quit [Ping timeout: 260 seconds]
vaninwagen_ has joined #ponylang
vaninwagen_ is now known as vaninwagen
<vaninwagen> Merry Christmas! A new Last Week in Pony is out: https://www.ponylang.org/blog/2017/12/last-week-in-pony---december-24-2017/
vaninwagen has quit [Ping timeout: 248 seconds]
samuell has joined #ponylang
dipin has joined #ponylang
gokr has joined #ponylang
xllndr has joined #ponylang
samuell has quit [Quit: Leaving]
xllndr has quit [Quit: Leaving]
dipin has quit [Quit: dipin]
gokr has quit [Ping timeout: 260 seconds]
mson has quit [Quit: Connection closed for inactivity]
samuell has joined #ponylang
khan has joined #ponylang
koczurekk has joined #ponylang
<koczurekk> Hello everyone, I can't get my code to work: https://pastebin.com/TDKT6c56, here's the error: https://pastebin.com/NvSLE7qm. Can somebody help me out? :)
<SeanTAllen> hi koczurekk, btw https://playground.ponylang.org/ exists and can make it really easy for folks to see your errors
<SeanTAllen> i can help you through your problem though
<SeanTAllen> "receiver type: Eapproximator tag" <-- this means e_approx is a tag. because its an actor. you can only send messages to actors. aka call behaviors on them in an async fashion.
<SeanTAllen> "target type: Eapproximator box" <-- you are trying to call a synchronous function. not allowed.
<SeanTAllen> In this case I think you want your Eapproximator to be a class. but its hard to tell based on your example.
<SeanTAllen> Are you just learning or is this part of a larger program?
<koczurekk> Oh, I get it now! I've read about actors in official tutorial but it only said that behaviors are allowed and I didn't find anything about normal functions being banned.
<koczurekk> I'm still learning.
<SeanTAllen> so the important part is
<SeanTAllen> actors, you have a tag reference to them
<SeanTAllen> thats opaque
<SeanTAllen> you can use it to compare identity
<SeanTAllen> and send messages
<SeanTAllen> nothing else
<SeanTAllen> also, welcome!
<koczurekk> Okay, thanks a lot. :)
aturley has joined #ponylang
koczurekk has quit [Ping timeout: 260 seconds]
aturley has quit [Quit: aturley]
SenasOzys has quit [Ping timeout: 268 seconds]
SenasOzys has joined #ponylang
jemc has joined #ponylang
SenasOzys has quit [Ping timeout: 248 seconds]
koczurekk has joined #ponylang
SenasOzys has joined #ponylang
jemc has quit [Ping timeout: 248 seconds]
jemc has joined #ponylang
aturley has joined #ponylang
koczurekk has quit [Ping timeout: 260 seconds]
aturley has quit [Quit: aturley]
jemc has quit [Ping timeout: 260 seconds]
jemc has joined #ponylang
koczurekk has joined #ponylang
<winksaville> Why is stdlib always --sequential ?
koczurekk has quit [Ping timeout: 264 seconds]
<SeanTAllen> winksaville: because there are tests that fail on Travis if it isnt run as --sequential due to resource constraints and timeouts
jemc has quit [Ping timeout: 240 seconds]
<winksaville> Would it be more stressfull to run it without --sequential here at home?
<SeanTAllen> not sure what you mean by stressful
koczurekk has joined #ponylang
<SeanTAllen> for finding the process monitor issue i cant comment on if it is more or less likely to make it happen
<SeanTAllen> all process monitor tests are run in an exclusion group
<SeanTAllen> which means even without --sequential
<SeanTAllen> they will only run 1 at a time
<winksaville> I'll give it a try at some point, I assume we'd expect it to work with or without --sequentail, correct?
<winksaville> (modulo resource constraints)
<SeanTAllen> yes
<SeanTAllen> basically
<SeanTAllen> when you run without sequential
<SeanTAllen> it tries to run all the tests at once
<SeanTAllen> and with constraints resources
<SeanTAllen> some timeouts are more likely to be hit
<SeanTAllen> i plan on fixing that
<SeanTAllen> but jemc and i have a disagreement on it so i put it aside for now
<winksaville> k, I'll see what happens
koczurekk has quit [Ping timeout: 264 seconds]
dipin has joined #ponylang
koczurekk has joined #ponylang
koczurekk has quit [Ping timeout: 252 seconds]
koczurekk has joined #ponylang
aturley has joined #ponylang
aturley has quit [Quit: aturley]
<SeanTAllen> Pony 0.21.1 has been released. Upgrading ASAP is recommended: https://www.ponylang.org/blog/2017/12/0.21.1-released/
koczurekk has quit [Remote host closed the connection]
samuell has quit [Quit: Leaving]
rurban has joined #ponylang
rurban has left #ponylang [#ponylang]
mson has joined #ponylang
khan has quit [Quit: khan]
SenasOzys_ has joined #ponylang
SenasOzys has quit [Read error: Connection reset by peer]
lolman has joined #ponylang
<lolman> is there a way I can get a complete list of functions that have special builtin behaviour? like create, apply, add, eq, has_next, serialise...
<SeanTAllen> What do you mean by special behavior? Lolman
<lolman> well the compiler has syntax sugar based on a create function
<lolman> and apply
<lolman> and the rest of them
<SeanTAllen> sugar.c probably has most of what you want lolman
<lolman> Thanks!
<SeanTAllen> you're welcome
dipin has quit [Quit: dipin]
SenasOzys_ has quit [Ping timeout: 240 seconds]
mson has quit [Quit: Connection closed for inactivity]