Comments (8)
I tried running the program in Github Codespaces on a 64GB RAM machine but launching the program headless did not work and gave a 'could not find X11 display' error.
from freerouting.
I run this on my windows and mem break too. According to my recent study, when FR can't extend a route, the mem will increase immediately, it relates to its queue data structure.For now, it can't be fixed, you can try another auto-router such as electra.
from freerouting.
I can confirm that this is an issue, thank you @LimesKey for the DSN file.
Here is the profiler's report during my recent session that consumed 8GB of RAM in a matter of minutes:
from freerouting.
I implemented a HashMap-based caching mechanism for some key planar classes to significantly reduce the new object creation count, but it made the algorithm less CPU-efficient because of the thread-safe hash lookups.
I will discard these changes, because the memory need didn't decrease significantly in the end.
I think there must be a separate routing issue as well related to your board, that needs further investigation.
from freerouting.
Is the bug/issue consider a memory leak or just it working but using up more RAM than intended? I can try it in a Github Codespace with 64GB of RAM if I can solve the headless issue.
I tried Electra last night, and while it was super fast and worked, it conflicted with my graphic on my front copper layer. This is turning into less of a freerouting issues/question, but do you think I would require a third layer because of the complexity of the board? And does anyone know how to prevent the copper graphic from conflciting with the auto routing traces?
from freerouting.
I think the algorithm gets into to a loop incorrectly that uses up as much memory as it can over time, so in that sense it's a memory leak. It's not dangerous or harmful in any way, it's just that it would probably never finish.
I suspect that it is connected to the fact that your board edge is more complex than other boards, but I might be wrong about that. If you have time you can try to test it with a simple rectangular edge.
I can't help you with Electra unfortunately.
from freerouting.
In fact, I also met this in some of my projects when my RAM is 32GiB and it was NOT full.
Maybe this is infinty recursion or loop made a stack overflow?
I don't know how it works, but I know some silly bug can make this. I found a repetition in my new issue #299.
Although it will not lead the program to crash, but i think it can rellect some issues.
from freerouting.
@andrasfuchs i think this issue is just the bigger issue of #299, and i think if we have more time, we will get the same crash in it.
So to reserch #299, maybe we can fix the bug of memory leak, slow and... anyway!
from freerouting.
Related Issues (20)
- Board has many small unconnected traces under pads HOT 7
- Replace ResourceBundle with TextManager to support templated multi-lingual texts HOT 1
- Replace dropdowns with few options with segmented buttons
- Add file operations to the analytics
- New evaluation and scoring system
- Exception on start HOT 1
- Routing is slow, multi-threading could potentially help HOT 9
- Potentially incorrect wiring when shoving
- Dont route nets connections that are already connected with copper
- No response during setup HOT 5
- Create a new Settings window that contains all settings in one place
- KiCAD Package Manager URL ERROR HOT 1
- Router never finishes if wire width is other than 0.254mm HOT 3
- Strange & silly issue when routing HOT 2
- The LCEDA/EasyEDA exported DSN file cannot read the copper pour
- Window header, border and menu colours are very bright - too bright.
- "Preferred direction" doesn't seem to use the preferred direction?
- Has anyone figured out how to get freerouting to work on Void Linux yet? HOT 1
- Inner layers route through vias
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from freerouting.