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
erip has joined #ponylang
erip has quit [Remote host closed the connection]
_whitelogger has joined #ponylang
PrsPrsBK1 has joined #ponylang
aturley_ has joined #ponylang
PrsPrsBK has quit [*.net *.split]
aturley has quit [*.net *.split]
PrsPrsBK1 is now known as PrsPrsBK
endformationage has quit [Quit: WeeChat 2.3]
erip has joined #ponylang
erip has quit [Ping timeout: 246 seconds]
srenatus has joined #ponylang
profetes has joined #ponylang
sheerluck has joined #ponylang
PrsPrsBK has quit [Quit: PrsPrsBK]
PrsPrsBK has joined #ponylang
rcb has joined #ponylang
rcb has quit [Ping timeout: 252 seconds]
endformationage has joined #ponylang
profetes has quit [Quit: Leaving]
sheerluck has quit [Quit: Leaving]
endformationage has quit [Quit: WeeChat 2.3]
endformationage has joined #ponylang
acarrico has quit [Ping timeout: 272 seconds]
srenatus has quit [Quit: Connection closed for inactivity]
profetes has joined #ponylang
<profetes> Hi, I'm abusing Pony a bit and I have a question regarding GCing actors. In my program (AoC2018.5) I created double-linked list, where each node is an actor, each node has references to _prev and _next. I keep a reference for a first actor in the list. I check the status by sending Result(~Promise) iso object into the list. Additionally each Actor reports its state changes to Watcher. Each list belongs to an actor that
<profetes> created it and holds a reference to the first item in the list.
<profetes> Question: My list consists of ~50k actors. Pony does not seem to try to GC my list, even after I lost references to them.
<profetes> GC works correctly when program ends. Program ends normally for 1 such list.
<profetes> Problem happens when I create a few of such lists. I run out of RAM. I instanciate one such list at a time and I expected that previous(solved) ones would be GCed, since I hold no explicit references to them. But they are not. Only some minor objects get GCed. And OOM kills the program.
<profetes> What may be stopping GC from freeing the memory of those agents? Their inboxes are empty. In their "outbox" there might be a message to some Promises. Is that the reason? Where to start looking? Can I manually finalize those lists? I'd much appreciate any hints to debug this further.
aturley_ has quit [Ping timeout: 244 seconds]
profetes has quit [Quit: Leaving]
erip has joined #ponylang
<SeanTAllen> profetes: actors don't have "outboxes"
<SeanTAllen> github is broken for me right now so i cant check out your code easily
<SeanTAllen> i'm not really following your description and its hard to see in the code.
<SeanTAllen> what exactly do you think is should be gc'd but isn't?
aturley has joined #ponylang
aturley has quit [Client Quit]
endformationage has quit [Quit: WeeChat 2.3]
endformationage has joined #ponylang
acarrico has joined #ponylang
aturley has joined #ponylang