-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Run cutter appimage packaging in GHA. #2490
Conversation
Please rebase since some of the CI process has to be updated. |
@XVilka Ok, will do once I have finished rebuilding cutter-deps. cutter-deps-qt are done and 2/3 os for cutter-deps. |
Appimage opened on Ubuntu 16.04 but ghidra wasn't loaded. Sample python plugin worked, but opening settings caused crash related to python plugin. Stacktrace#0 PyErr_Occurred () at Python/errors.c:227 #1 0x00007ffff7777d05 in find_name_in_mro (type=type@entry=0x1484e80, name=name@entry=0x7fffe0191730, error=error@entry=0x7fffffffcdf4) at Objects/typeobject.c:3206 #2 0x00007ffff7777e3d in _PyType_Lookup (type=type@entry=0x1484e80, name=name@entry=0x7fffe0191730) at Objects/typeobject.c:3243 #3 0x00007ffff775f35c in _PyObject_GenericGetAttrWithDict ( obj=0x7fffe01c39c0, name=0x7fffe0191730, dict=0x0, suppress=0) at Objects/object.c:1194 #4 0x00007ffff775ed84 in PyObject_GetAttrString (v=0x7fffe01c39c0, name=) at Objects/object.c:795 #5 0x00000000006c0cfe in CutterPluginWrapper::getName (this=0xf81350) at src/bindings/CutterBindings/cutterplugin_wrapper.cpp:294 #6 0x00000000005fe835 in PluginsOptionsWidget::PluginsOptionsWidget ( this=0x211efa0, dialog=) at ../src/dialogs/preferences/PluginsOptionsWidget.cpp:44 #7 0x00000000005a9bc7 in PreferencesDialog::PreferencesDialog ( this=0x2015450, parent=) at ../src/dialogs/preferences/PreferencesDialog.cpp:54 #8 0x00000000004ff258 in MainWindow::on_actionPreferences_triggered ( this=0x14855e0) at ../src/core/MainWindow.cpp:1622 #9 0x0000000000498ae3 in MainWindow::qt_static_metacall (_a=0x7fffffffd560, _id=32, _c=QMetaObject::InvokeMetaMethod, _o=0x14855e0) ---Type to continue, or q to quit--- n/TAC5DWH4SE/moc_MainWindow.cpp:330 #10 MainWindow::qt_metacall (this=0x14855e0, _c=QMetaObject::InvokeMetaMethod, _id=32, _a=0x7fffffffd560) at src/Cutter_autogen/TAC5DWH4SE/moc_MainWindow.cpp:331 #11 0x00007ffff253b037 in ?? () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #12 0x00007ffff6ee80f2 in QAction::triggered(bool) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Widgets.so.5 #13 0x00007ffff6eea69e in QAction::activate(QAction::ActionEvent) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Widgets.so.5 #14 0x00007ffff2531dbb in QObject::event(QEvent*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #15 0x00007ffff6eeb032 in QAction::event(QEvent*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Widgets.so.5 #16 0x00007ffff6eee49c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Widgets.so.5 #17 0x00007ffff6ef54d0 in QApplication::notify(QObject*, QEvent*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Widgets.so.5 #18 0x00007ffff2500a70 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #19 0x00007ffff2503cc2 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #20 0x00007ffff255f783 in ?? () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #21 0x00007fffeff23197 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #22 0x00007fffeff233f0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007fffeff2349c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007ffff255edcc in QEventDispatcherGlib::processEvents(QFlags) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #25 0x00007ffff24ff2fa in QEventLoop::exec(QFlags) () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #26 0x00007ffff25088c7 in QCoreApplication::exec() () from /tmp/.mount_CuttervQeeAW/usr/bin/../lib/libQt5Core.so.5 #27 0x0000000000486b74 in main (argc=1, argv=) at ../src/Main.cpp:104 |
Plugin crash also happens in main branch without Appimage, created separate issue for that #2511 |
Ghidra is now included and python plugin crash fixed. Need to retest on Ubuntu 16.04 and Windows. |
Appimage is good, now need to check windows build. |
* Update cutter-deps. * Switch to older visual studio due to pyside having problems parsing MSVC headers.
Starting with qt 5.15 the part where code is injected already has GIL released.
Windows works as well. It is possible to start mergin PRs starting with cutter-deps-qt. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Such complexity. I wish there was a way to avoid this, especially specifying exact libraries' versions....
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. Tested Ubuntu and Windows artifacts.
Your checklist for this pull request
Detailed description
Move one more configuration from travis to GHA. Configure the Ubuntu 16.04 cutter-deps to do the same as Cutter release package job did in Travis. To simplify things use bundled r2 instead of manually installing r2 system wide in the CI script. Quick test using grep indicates that bundled_r2 build results in some paths to the temporary bundle r2 install directory. Need to investigate if it causes any problems, If there are any problems I would expect most of them to affect the old Appimage the same way.
Rebuild and update Cutter deps. A rebuild was necessary for Linux compatibility with GHA environment. Rebuild also allows compiling using older Visual Studio version fixes the issue with shiboken(clang) not being able to parse latest MSVC headers. See the corresponding cutter-deps and cutter-deps-qt PRs for more details.
The new MacOS packaging isn't fully enabled as that might have additionall issues and this PR is already a bit too big. I want to leave that for separate PR.
Test plan (required)
Closing issues
closes #2479 (including latest appveyor failure)
closes #2511