Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

python3 gui.py --viewer NOT WORKING #2113

Closed
Baungarten-CINVESTAV opened this issue Apr 2, 2024 · 4 comments
Closed

python3 gui.py --viewer NOT WORKING #2113

Baungarten-CINVESTAV opened this issue Apr 2, 2024 · 4 comments

Comments

@Baungarten-CINVESTAV
Copy link

Description

When I use the command python3 gui.py --viewer openroad ./designs/spm/runs/openlane_test , the openROAD gui does not open and gives an error, this happens even with the openLANE example

Expected Behavior

I would expect the openROAD GUI to be executed.

Environment report

open_pdks cd1748bb197f9b7af62a54507de6624e30363943
Kernel: Linux v5.15.0-46-generic
Distribution: ubuntu 20.04
Python: v3.8.10 (OK)
Container Engine: docker v25.0.1 (OK)
OpenLane Git Version: eaba5192c45aa333ab45216ce1773d75d539e9b3
python-venv: INSTALLED
---
PDK Version Verification Status: OK
---
Git Log (Last 3 Commits)

eaba519 2024-04-02T00:07:21+02:00 Fix Exit Code Propagation When Creating Reproducibles (#2111) - Mohamed Gaber -  (grafted, HEAD -> master, tag: 2024.04.02, origin/master, origin/HEAD)
---
Git Remotes

origin	https://github.com/The-OpenROAD-Project/OpenLane.git (fetch)
origin	https://github.com/The-OpenROAD-Project/OpenLane.git (push)

Reproduction material

git clone --depth 1 https://github.com/The-OpenROAD-Project/OpenLane.git
cd OpenLane/
make
make test
make mount
python3 ./gui.py --viewer openroad ./designs/spm/runs/openlane_test

Relevant log output

OpenLane Container (eaba519):/openlane$ python3 ./gui.py --viewer openroad ./designs/spm/runs/openlane_test
Using ./designs/spm/runs/openlane_test/config.tcl
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
process 10: The last reference on a connection was dropped without closing the connection. This is a bug in an application. See dbus_connection_unref() documentation for details.
Most likely, the application was supposed to call dbus_connection_close(), since this is a private connection.
  D-Bus not built with -rdynamic so unable to print a backtrace
Signal 6 received
Stack trace:
 0# 0x0000000000D81E07 in openroad
 1# 0x00007FC6D555E400 in /lib64/libc.so.6
 2# gsignal in /lib64/libc.so.6
 3# abort in /lib64/libc.so.6
 4# 0x00007FC6CB022655 in /lib64/libdbus-1.so.3
 5# _dbus_warn_check_failed in /lib64/libdbus-1.so.3
 6# 0x00007FC6CD71BBFB in /lib64/libQt5DBus.so.5
 7# QObject::event(QEvent*) in /lib64/libQt5Core.so.5
 8# 0x00007FC6D688EA55 in /lib64/libQt5Core.so.5
 9# QCoreApplication::notifyInternal2(QObject*, QEvent*) in /lib64/libQt5Core.so.5
10# QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) in /lib64/libQt5Core.so.5
11# 0x00007FC6D68DDA03 in /lib64/libQt5Core.so.5
12# g_main_context_dispatch in /lib64/libglib-2.0.so.0
13# 0x00007FC6D22C43F8 in /lib64/libglib-2.0.so.0
14# g_main_context_iteration in /lib64/libglib-2.0.so.0
15# QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) in /lib64/libQt5Core.so.5
16# QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) in /lib64/libQt5Core.so.5
17# QThread::exec() in /lib64/libQt5Core.so.5
18# 0x00007FC6CD7193B5 in /lib64/libQt5DBus.so.5
19# 0x00007FC6D66E4E71 in /lib64/libQt5Core.so.5
20# 0x00007FC6D9E49EA5 in /lib64/libpthread.so.0
21# clone in /lib64/libc.so.6
Traceback (most recent call last):
  File "./gui.py", line 115, in <module>
    gui()
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.6/site-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "./gui.py", line 81, in gui
    env={**run_env, **run_config, **extra_config},
  File "/usr/lib64/python3.6/subprocess.py", line 311, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['openroad', '-gui', './scripts/openroad/gui.tcl']' died with <Signals.SIGABRT: 6>.
@kareefardi
Copy link
Collaborator

@Baungarten-CINVESTAV can you try the following #1772 (comment)?

@Baungarten-CINVESTAV
Copy link
Author

I have tried, nevertheless, after reading carefully the make file, in the previous version I can add the command DOCKER_OPTIONS += --privileged at the beginning or at the end of the file.

I don't know in which version the following command DOCKER_OPTIONS = $(shell $(PYTHON_BIN) ./env.py docker-config) does not have the += so adding the DOCKER_OPTIONS += --privileged after it the GUI works.

@Baungarten-CINVESTAV
Copy link
Author

For future interested parties, the make file looks as follows:

PYTHON_BIN ?= python3

OPENLANE_DIR ?= $(shell pwd)

DOCKER_OPTIONS = $(shell $(PYTHON_BIN) ./env.py docker-config)

DOCKER_OPTIONS += --privileged

DOCKER_ARCH ?= $(shell $(PYTHON_BIN) ./docker/current_platform.py)

# Allow Configuring Memory Limits
ifneq (,$(DOCKER_SWAP)) # Set to -1 for unlimited
DOCKER_OPTIONS += --memory-swap=$(DOCKER_SWAP)
endif
ifneq (,$(DOCKER_MEMORY))
DOCKER_OPTIONS += --memory=$(DOCKER_MEMORY)
# To verify: cat /sys/fs/cgroup/memory/memory.limit_in_bytes inside the container
endif
.
.
.

@kareefardi
Copy link
Collaborator

Pinning this as a workaround for others.

@kareefardi kareefardi reopened this Apr 3, 2024
@kareefardi kareefardi pinned this issue Apr 3, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants