mingrammer / diagrams

:art: Diagram as Code for prototyping cloud system architectures
https://diagrams.mingrammer.com
MIT License
36.79k stars 2.39k forks source link

out of memory error when executing example diagram #539

Open GKelsey opened 3 years ago

GKelsey commented 3 years ago

Using python 3.9.5 on windows and in a virtual environment I get an out of memory error when trying to run the example diagram.

<aws.database.RDS> Traceback (most recent call last): File "<stdin>", line 2, in <module> File "E:\Development\ChatApp\.venv\lib\site-packages\diagrams\__init__.py", line 149, in __exit__ self.render() File "E:\Development\ChatApp\.venv\lib\site-packages\diagrams\__init__.py", line 191, in render self.dot.render(format=self.outformat, view=self.show, quiet=True) File "E:\Development\ChatApp\.venv\lib\site-packages\graphviz\files.py", line 243, in render rendered = backend.render(self._engine, format, filepath, File "E:\Development\ChatApp\.venv\lib\site-packages\graphviz\backend.py", line 223, in render run(cmd, capture_output=True, cwd=cwd, check=True, quiet=quiet) File "E:\Development\ChatApp\.venv\lib\site-packages\graphviz\backend.py", line 183, in run raise CalledProcessError(proc.returncode, cmd, graphviz.backend.CalledProcessError: Command '['dot', '-Kdot', '-Tpng', '-O', 'web_service']' returned non-zero exit status 1. [stderr: b'out of memory\r\n']

`# diagram.py from diagrams import Diagram from diagrams.aws.compute import EC2 from diagrams.aws.database import RDS from diagrams.aws.network import ELB

with Diagram ( "Web Service", show=False): ELB("lb") >> EC2("web") >> RDS("userdb")`

igortg commented 3 years ago

Same problem here. A workaround seems to be downgrading graphviz to ver. 2.46: choco install graphviz --version 2.46.1 --allow-downgrade