Comments (10)
Hi @mstefaniuk I have tested your super large graph in my local install of viz.js and no error. It generates a super large image. And not too slow either. Loving the viz.js, Well done @mdaines
from viz-js.
@aquaalex Strange but maybe only little bit. Today I've repeated test on official viz.js demo site on Windows and it works both on Firefox and Chrome. Yesterday I've checked it on Firefox, Chrome and Safari on OS/X - last two returned error I mentioned. Maybe it's only a OS/X error? Or maybe it happens when viz.js
is deployed within WebWorker?
from viz-js.
@mstefaniuk maybe it is worth it looking at different versions of browsers? Not sure about the WebWorker issue, but that should be an easy test.
from viz-js.
I've checked it just now and when launched on Chrome 47.0.2526.80 (64-bit) on OS/X I've received original error. The same on Safari 9.0.1 (11601.2.7.2).
from viz-js.
Just for Info I have tested Viz.js on a few versions of Windows and Android and a few versions of browsers
O/S: Windows 8.1
Firefox 43
Google Chrome 47
Internet Explorer 11
Android 5.0
Google Chrome 47
Windows 7:
Internet Explorer 9
Internet Explorer 8 - Javascript Error
Windows Server 2003 EE SP2:
Firefox 25
Google Chrome 20
Internet Explorer 7 - Javascript Error
from viz-js.
@mstefaniuk & @mdaines - It definitely seems to be an OSX issue, I wonder if anyone has tested it on any other Apple products.
Maybe the topic should be changed to: Large diagram fails on OSX(Apple)?
from viz-js.
@aquaalex For sure there is one OS/X exception with Firefox. It looks rather as OS/X Webkit issue.
from viz-js.
I was curious as to what was causing the overflow and it seems to be depth-first search graph algorithms in GraphViz like inter_tree_edge_search and dfs_range.
Recalling some of my related previous research, different browsers will have different maximum stack depths. And this will also depend on other factors such as stack frame size. Isolating it to a specific browser version or OS unfortunately won't help, as there doesn't seem to be a standard size that can be depended on, and a large enough input can always exceed it regardless.
Sounds like this ticket can be closed in favor of opening a ticket with GraphViz to perhaps make the algorithms iterative or tail call (although I'm not sure Emscripten can do anything with tail call optimization.)
from viz-js.
this issue was introduced in 1.8.0, you won't have this issue on site viz-js.com becuase it has 1.7.1 version installed
from viz-js.
I'm closing this since I could get the graph to render in Safari using a build from the v3 branch. That branch is also substantially different from the version of Viz.js this issue would have appeared in -- it uses WebAssembly and a newer version of Graphviz.
However, the v3 version can still run into problems like this with larger graphs -- I found that I could get a RangeError: Maximum call stack size exceeded
error in Node.js with a graph of 8000 nodes.
Maybe related? emscripten-core/emscripten#13043
from viz-js.
Related Issues (20)
- Add type definitions HOT 4
- Publish lang-dot package
- Figure out why pkg-config doesn't work as expected for Expat
- Investigate distributing a non-WASM build
- Investigate support for separate WebAssembly instantiation
- Support -x (reduce) option
- Image support in v3 HOT 6
- RuntimeError with long label starting with newline HOT 1
- Android Project HOT 1
- Types can not be imported with current package.json HOT 2
- Dynamic font Family HOT 2
- Strict mode but merge labels HOT 1
- Text not rendering in nodes HOT 11
- Question about usage without Webassembly and some other questions HOT 1
- I need to remove tooltip i.e title for entire graph. How can it be done HOT 4
- Having trouble with new image support - can't use same image URL in two different places HOT 3
- Positions will never change HOT 3
- DockerFile uses Expat 2.5.0 which is vulnerable for CVE-2023-52425 HOT 2
- Different Results with same Graph HOT 2
- Status of the viz-js OSS project HOT 1
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 viz-js.