Fixing Web 2 memory leaks

I saw people complained about memory leaks in Web projects. Since a few customers may be affected when they move to Web 2 later this year, I want to help to get this rock solid.

Earlier in February I looked to find memory leaks and reported one as case 63378. I don’t know whether my information helped, but as duplicate of 63378, this is now marked fixed.

Friday and Saturday (Yesterday), I spent a couple of hours looking for more leaks. I found one with Xojo.GenerateJSON adding a reference count for arrays and reported that as case 64456. This is now reproduced by Robin and I hope to see an engineer fix it soon. Probably just an oversight and sadly none of the testers (including me) saw that before. Well, the 2021r1 had to ship to get people use it in production to reveal the bug.

I hope to see soon a .1 bug fix update for this and (or r2 with the fix), so we have again a Web Engine, which can run our web apps for weeks without filling memory quickly.

Anyway, if you guys see other cases, where I (or you?) may help to find more information to point better to the root cause, this may help Xojo to make a better product and help everyone here using Xojo.


The new JSON leak should not slip to a future R2 or it will maintain the current bad impact that R1 still has, that can’t reach production use because its intense instability. It will replace the previous leaks Xojo found and fixed, and the Xojo Web will still be useless for production, and worse, now it will compromise Desktop apps too. That said, it must be fixed in a fast 1.1 patch release or a even faster 1.2 (few days/hours after a 1.1).

Well, Xojo 2021r1 does work quite well and if you restart your web app each night, you probably have no problem.
But for those, who like to run apps for months, I hope both problems (the new one and the old fixed one) soon ship in an update.
Otherwise we may be able to do a mitigation for the JSON leak with having a timer regularly call a plugin function to look for dictionaries, which live for a few minutes, have a certain structure and then free them.

I don’t understand why we all agree that we need to have more frequent releases and the team doesn’t listen to us. Is there a feedback case for this? I’m sick of seeing much less important things in the top 20 feedback list. I know it’s not a bug, but let’s vote on all these changes first with the only tool we have and then think about the rest… I just don’t understand this community, I created a post the other day on the forum and it was completely ignored…


You missed the discussions when Xojo Inc. started to do quarterly releases and people complained that is too much!

This should not be a solution. This is a cause for more trouble for some or even many web apps.


I’ve certainly missed a lot of forum discussions for various reasons. This is not a good motivation though. Things change over time, users and needs change over time. I don’t want to create unnecessary controversy, I just propose a feedback case for this and let’s see how many people vote for it.

not many people will add to votes… Nobody get’s a notification that you added a certain case so don’t expect thit to be mainstream. As normal, it’s best to talk about the case on the forum otherwis it will or can go unnoticed.

1 Like

Here’s the old ParamArray on a loop leak <>, not sure if it’ll hit web 2 but it probably hits users more often than they even realise.

For me it’s a definition of a total fail.

Well, the idea was precisely to write on the forum and then turn it into a case of feedback. As I wrote on the post that no one has read and considered. Honestly it was just a way to try to improve things without offending anyone and without ignoring the work of the xojo team, which unfortunately makes choices that can not please everyone, but in my opinion some are objectively wrong. As said in the post, if every release takes 3 months it implies that every new bug takes 3 months or more to be found and even more to be fixed. This is not synonymous with either stability or good use of technology. I’m trying to find all the problems that do not allow me to move to web 2.0 hoping that they will be fixed soon, but as always I’m denied and I find myself in limbo waiting for nothing. For the various conversion tests etc I had to convert all my JS controls. In addition to the conversion effort, every change I make, I have to keep it up to date on both versions hoping one day to convert the app. This is really frustrating…


I made a new one. For me paramArray leaks in a for loop with any function: 64474

This is a minor problem since upper bound should be a variable.

Is there a reason you didn’t make your post in the Bugs and Feature Requests section? If you read through that section maybe you get the answer to your own question.

ups. Well, some moderator can move the thread over.

Do you really think the category is the problem? Well it can be moved, I didn’t think it was that big of a problem. I quote the description of the forum category “Discussion about this site, its organization, how it works, and how we can improve it.”. If you read my post you will see that the category is not so wrong.

It really isn’t the category. Although that would be the right category. But if you read through the posts in that category, or through the post about “improving” the feedback system you would get your answer about why nobody responded to your post. As many good points you may have made (and you had quite a few, imo) this has been discussed ad nauseam with little to show for it. So perhaps people don’t have a lot of energy left to pick up yet another discussion about how to make feedback better or what a better release system would look like.

And apologies to Christian for diverting from the original topic

I understand your point of view and agree with it only in part. That’s where the real problem lies, everyone complains on the forum and they remain voices in the wind. When you start having feedback with lots of points, the time that passes you have a better weapon to complain. I close here my discussion triggered by a comment I read and apologize to Christian. Anyone interested in the topic can respond to my post.

Thanks Christian for hunting this one down and help fixing the leak. I’m one of those guys who has several instances of web apps that need to run 24/7. Yes, restarting the web apps work and has become part of a maintenance schedule (that includes other things). But It’s great to see your detective work has helped fix it. Kudos!

1 Like