Possible Memory Leak in Chrome?

I’m wondering if there’s a possible memory leak in Chrome. I’ve seen another poster mention lockups of the machine. I’ve noticed in the last ~48 hours of working on many projects that Chrome seems to spike to almost 1G memory in use when I’ve been working on a project for a long time.

After a period of time, selection and movement of a piece around the workspace starts to get really slow and it’ll move a few pixels and then “hang” even though I’ve dragged the object 1in or more in the grid.

When this happens, it gets seems to always say “saving” in the top bar. I’ve also attempted to change the project name, and the box goes away after hitting save and the title appears in the bar…but when the app slows and I close my browser and come back - it’s back to Untitled, sometimes with various quotes and I think I saw one with some strange slashes once.

I’m using Win7 64bit, SP1. Chrome Version 42.0.2311.152 m

Other than Easel, I usually have the forums here open, and sometimes a few other tabs, but nothing but forums and other basic web sites. I also have Outlook 2010 open for work email.

So the project I’m working on is building a loom for my wife. I’ve separated the parts into different files because it seems to get clogged down. Most recently, I was working with this file:

http://easel.inventables.com/projects/NmJ2r9g2R3Z9y2dvdfOHuw

I don’t recall now if this is the same “new” file that I was importing svg’s and testing, then deleting objects and re-importing them or not. After closing the browser and going back, I’m working in it ok now.

Any thoughts or data I can provide when this is happening again to see if there’s any specific problems with Easel?

Hi @AlanDyke,

When you reload the Chrome tab, does the memory usage drop and Easel become quicker again? If so, my first guess at a culprit would be the undo/redo memory, which keeps track of all the changes you’ve made since opening the project. If you’ve been working on the project for a while, there could easily be hundreds—or even thousands—of changes that Easel is remembering.

We could look into ways of storing the undo information more efficiently, or perhaps limiting how far back you can undo. In the meantime I’d suggest reloading the tab if that helps.

Jim

Yes. When I close the tab (or generally Chrome as a whole) it goes right back to being pretty speedy for a while.

I would imagine you’re right on the undo/redo thing. Making lots of size changes and drags around the board is pretty standard for me as a n00b, since I don’t know how to scale it right in Inkscape to start with.

How does Easel handle large object amounts? I noticed for one relatively simple (to me) file…it imported 240 objects. I was using Slic3r to cut a 3d print file into a 2d object to cut a part - but pending how much slice you take, it could make ~20+ layers of the same object over and over again. When working with 240 objects in a single group and dragging it around and making resize changes – I presume the undo ends up having to get saved for EVERY object every tiny click?

I’m improving things by getting down to 2-3 layer copies that I have to delete, and thus am working with less objects per workspace. I do notice that the more “busy” my workspace is - the more it starts to slow down.

Would that affect the 3d preview greatly? I often wonder if it would be better to have a click-box to not constantly render the model after every tiny size change and a button to update the preview as needed? I know I don’t always need real time previews.

Working with another project today. Just importing the SVG (it’s a Inkscape trace of the Monopoly Board Patent).

Just opening it – 300mb of memory for Chrome. No other tabs open.

Now, every time I try to enlarge it, or move it a little to try to center – it “hangs” for 15 seconds while the area near the project title is constantly in “saving”…

Every little move, 10-15 seconds to save the file.

Granted, this is a very detailed image, however I haven’t split it into a ton of individual objects (though it looks like the Inkscape trace did manage to use about 8 objects).

Can supply the svg for testing if anyone wants to take a look.

Edited to add–
So the browser crashed and I closed and reloaded. Went to the existing project file and opened…570mb memory just to open it, and now menu selection dropdowns are like ~30+ seconds behind, selecting an object is nonexistant.

I do note that a few times when I’ve been working on selecting objects in the workspace, it seems the mouse icon is in the correct location, but the actual rectangle that shows where you’re selecting is off to the upper left by ~6 inches (workspace grid inches).

More to add on this topic…

Working with a project today…i found that using arrow keys to move selected objects really bashes up Easel and the constant “saving”.

If I want to move something around a few pixels and hold down the arrow…it’s like every pixel move it makes (not sure how many inches/mm “jumps” it makes)…but every little click is a resave of the whole project.

If you stack that up far enough, it gets in a saving loop that drags memory forever and Chrome kills the page.

Do you or another user visit facebook with that computer? My wife started playing the bane of humanity, Facebook games on my house PC. Now, when I use that computer 75-95% of my memory (3gb) is gobbled up by god knows what and the system slows WAY down until I take some sort of action.

I have been using Ccleaner to remedy things, and speed improves dramatically, at least until she gets back onto FARCEbook again.

www.ccleaner.com (free!)

Just tried that.

No change. I do use Facebook, but not for games or anything and I’m the only user of this machine.

I’m thinking Easel hasn’t really been juiced up for the kind of manipulation I’m trying to do…mostly because I suck at editing in Inkscape and everything comes over sized incorrectly and I’m adjusting a ton of objects.

The more I copy/paste, the more objects there are…and the more memory it takes up and BOOM! Down it goes.

1 Like

Bump this thread. I’m on linux machine with Chrome installed and 32 gigs of ram. Easel appears to only work if the job is very very very simple. Any complicated objects cause chrome to timeout/crash when attempting to view toolpaths or generate gcode. What a shame too, because the application “seemed” like such a great idea. I’m really not interested in spending 700 dollars on software when the machine was only a grand.

I’ve found a solution to this issue. The latest Inkscape version 0.91 comes bundled with an extension called Gcodetools. It’s not the easiest plugin to work with, but after watching some youtube tutorials and plenty of trial and error, I’ve been able to generate some very adequate gcode using highly complex SVG files.

Those of you who are not wanting to purchase artcam or v-carve pro will be happy to know that the plugin supports 3d relief carving by extrapolating height based on greyscale. The only thing missing was the M3 S##### speed control command from the gcode file, but easy enough to add on your own.

I actually did run into one issue which required some slight hacking. The gcodetools plugin will generate commands longer than 50 characters. I am using linux and control the x-carve with the java-based program Universal-G-Code-Sender. The current version does not support commands over 50 characters even though the version of GRBL shipped with the xcarve supports commands up to 70 characters.

I ended up downloading the UGCS source code from github, then grepping through the src directory for the variable maxCommandLength and changing any occurrences of the value 50 to 70. Then mvn clean package.
Here’s the repository with the modified code:


This will only work with later versions of GRBL.

For the money… absolutely free!!.. this solution was well worth the effort. If you are familiar with pycam 2d extrusion and symmetric multi-processing across multiple machines to produce gcode files, let me re-assure you, this procedure generates very usable gcode on a single, dual core or quad-core machine within minutes and is completely open-source.