Welcome the channel on the development of Cro, a set of libraries for building reactive distributed systems, lovingly crafted to take advantage of all the Raku Programming Language has to offer (cro.services). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
07:59 Nicholas joined 08:04 Xliff_ joined 08:06 Xliff left 08:55 patrickb joined
Xliff_ OK. I am having some resource issues with Cro. 15:10
Every time I serve a page, the raku compiler quietly ticks up memory until it uses it all up. This is on a VM. For the life of me I can figure out why this is happening.
jnthnwrthngtn First, ensure you are running the latest Cro release, which did have a fix for a memory leak. 15:14
Xliff_ jnthnwrthngtn: Thanks for mentioning that. I updated yesterday. Is that recent enough? 15:19
I can't seem to duplicate the issue on my development machine. I will have to open it up to external requests :/ 15:24
jnthnwrthngtn Yes, yesterday is 15:34
Last release was...a week or maybe 2 ago
Xliff_ OK. Thanks. When I have more for you I will let you know.
Can you suggest anything to look at for debugging? Any ENV varaiables or switches I could use or print out that might be helpful? 15:35
jnthnwrthngtn Not really, I'd try to golf it down to the minimum route handler that leaks (remove middlewhare, logic in route handler, etc.) 15:44
Xliff_ Well, when I can trigger the leak, I will attempt to do so, but I think it has something to do with database access. I haven't been able to trigger it without at least one query run. 15:46
16:20 Xliff_ left, patrickb left 17:07 lizmat_ joined 17:16 lizmat left, zostay left, ecocode__ left 17:22 zostay joined, ecocode__ joined 17:32 lizmat_ left, lizmat joined 18:25 TempIRCLogger left, TempIRCLogger joined 18:58 Xliff joined
Xliff So. It looks like the request never completes. I'm using PHP's Curl extension to perform my requests, and control to the script doesn't immediately move to the next statement after the call to ->curl_exec. 19:00
Memory starts increasing if there is database access (or at least a database INSERT) during that request.
jnthnwrthngtn Dunno if you're using Comma, but if so run it under timeline view and see if it shows that it's just stuck in the route action 21:35
(Otherwise you're at scattring debug output to see if it makes it through the route logic, or gets wedged in the database call) 21:50