View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0015090 | Scribus | Scripter | public | 2018-01-02 04:51 | 2024-10-23 18:42 |
Reporter | william | Assigned To | jghali | ||
Priority | normal | Severity | minor | Reproducibility | always |
Status | closed | Resolution | fixed | ||
Product Version | 1.5.4.svn | ||||
Summary | 0015090: scribus 1.5.4.svn built with scripter2 crashes during startup | ||||
Description | I downloaded the current svn on CentOS 7 and built with the cmake options -DWANT_SCRIPTER2=1 -DWANT_DEBUG=1 -DWANT_GRAPHICSMAGICK=1 -DWANT_VERSIONING=1 -DCMAKE_BUILD_TYPE=Debug When running under gdb, I get Pythonize constructor -- pid = 18812 Python interpreter initialized! Running script: /u/gnu/scribus15s2bin/lib/scribus-1.5.4.svn/plugins/scripter/init_scripter.py /u/gnu/scribus15s2bin/lib/scribus-1.5.4.svn/plugins/scripter added to PYTHONPATH then a crash, and "bt" shows the trace below. I think that the important point is line 72 of pythonize.cpp where Pythonize::runScript() calls PyRun_SimpleFile(). #0 0x00007fffc29de65e in _GLOBAL__sub_I_qpycore_classinfo.cpp () at /usr/lib64/python2.7/site-packages/PyQt4/QtCore.so 0000001 0x00007ffff7dea4c3 in _dl_init_internal () at /lib64/ld-linux-x86-64.so.2 0000002 0x00007ffff7deebd6 in dl_open_worker () at /lib64/ld-linux-x86-64.so.2 0000003 0x00007ffff7dea2d4 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2 0000004 0x00007ffff7dee2cb in _dl_open () at /lib64/ld-linux-x86-64.so.2 0000005 0x00007ffff40d5fbb in dlopen_doit () at /lib64/libdl.so.2 0000006 0x00007ffff7dea2d4 in _dl_catch_error () at /lib64/ld-linux-x86-64.so.2 0000007 0x00007ffff40d65bd in _dlerror_run () at /lib64/libdl.so.2 0000008 0x00007ffff40d6051 in dlopen@@GLIBC_2.2.5 () at /lib64/libdl.so.2 0000009 0x00007ffff4e9a2ef in _PyImport_GetDynLoadFunc () at /lib64/libpython2.7.so.1.0 0000010 0x00007ffff4e82bfe in _PyImport_LoadDynamicModule () at /lib64/libpython2.7.so.1.0 0000011 0x00007ffff4e80d01 in import_submodule () at /lib64/libpython2.7.so.1.0 0000012 0x00007ffff4e80f4d in load_next () at /lib64/libpython2.7.so.1.0 0000013 0x00007ffff4e81968 in PyImport_ImportModuleLevel () at /lib64/libpython2.7.so.1.0 0000014 0x00007ffff4e64bdf in builtin___import__ () at /lib64/libpython2.7.so.1.0 0000015 0x00007ffff4dd49a3 in PyObject_Call () at /lib64/libpython2.7.so.1.0 0000016 0x00007ffff4e667b7 in PyEval_CallObjectWithKeywords () at /lib64/libpython2.7.so.1.0 0000017 0x00007ffff4e6b475 in PyEval_EvalFrameEx () at /lib64/libpython2.7.so.1.0 0000018 0x00007ffff4e6fefd in PyEval_EvalCodeEx () at /lib64/libpython2.7.so.1.0 0000019 0x00007ffff4e70002 in PyEval_EvalCode () at /lib64/libpython2.7.so.1.0 0000020 0x00007ffff4e8943f in run_mod () at /lib64/libpython2.7.so.1.0 0000021 0x00007ffff4e8a5fe in PyRun_FileExFlags () at /lib64/libpython2.7.so.1.0 0000022 0x00007ffff4e8b889 in PyRun_SimpleFileExFlags () at /lib64/libpython2.7.so.1.0 0000023 0x00007fffd810d46c in Pythonize::runScript(char*) (this=0x1b7ebf0, scriptPath=0x1b79b68 "/u/gnu/scribus15s2bin/lib/scribus-1.5.4.svn/plugins/scripter/init_scripter.py") at /u/gnu/scribus15s2/Scribus/scribus/plugins/scripter/pythonize.cpp:72 0000024 0x00007fffd8109162 in ScripterImpl::runScript(QString const&) (this=0x1b82910, filename=...) at /u/gnu/scribus15s2/Scribus/scribus/plugins/scripter/scripterimpl.cpp:67 0000025 0x00007fffd8108fe0 in ScripterImpl::init() (this=0x1b82910) at /u/gnu/scribus15s2/Scribus/scribus/plugins/scripter/scripterimpl.cpp:58 0000026 0x00007fffd81085a2 in Scripter::initPlugin() (this=0x1b856f0) at /u/gnu/scribus15s2/Scribus/scribus/plugins/scripter/scripter.cpp:65 0000027 0x0000000000b963a3 in PluginManager::enablePlugin(PluginManager::PluginData&) (this=0x18ee290, pda=...) at /u/gnu/scribus15s2/Scribus/scribus/pluginmanager.cpp:263 0000028 0x0000000000b95794 in PluginManager::initPlugin(QString) (this=0x18ee290, fileName=...) at /u/gnu/scribus15s2/Scribus/scribus/pluginmanager.cpp:166 0000029 0x0000000000b95a5a in PluginManager::initPlugs() (this=0x18ee290) at /u/gnu/scribus15s2/Scribus/scribus/pluginmanager.cpp:193 0000030 0x0000000000d6a17e in ScribusCore::initScribusCore(bool, bool, bool, QString) (this= 0x196c6f0, showSplash=true, showFontInfo=false, showProfileInfo=false, newGuiLanguage=...) at /u/gnu/scribus15s2/Scribus/scribus/scribuscore.cpp:202 0000031 0x0000000000d69a7f in ScribusCore::startGUI(bool, bool, bool, QString) (this=0x196c6f0, showSplash=true, showFontInfo=false, showProfileInfo=false, newGuiLanguage=...) at /u/gnu/scribus15s2/Scribus/scribus/scribuscore.cpp:117 0000032 0x0000000000d65cd5 in ScribusQApp::init() (this=0x7fffffffbc00) at /u/gnu/scribus15s2/Scribus/scribus/scribusapp.cpp:375 0000033 0x0000000001351abb in mainApp(int, char**) (argc=1, argv=0x7fffffffbd88) at /u/gnu/scribus15s2/Scribus/scribus/main_nix.cpp:76 0000034 0x0000000001351a4d in main(int, char**) (argc=1, argv=0x7fffffffbd88) at /u/gnu/scribus15s2/Scribus/scribus/main_nix.cpp:54 | ||||
Additional Information | I attached two files: A small patch to fix some compile errors in the scripter and a build script to show the build options. | ||||
Tags | No tags attached. | ||||
Patch | No | ||||
|
|
|
Thanks for the patch. However Scripter 2 has basically never worked under 1.5.x due to Qt internal changes between Qt4 and Qt5. Unless you plan to perform Scribus development and make Scripter 2 work, you should not attempt to compile it. |
|
Thanks for the reply. How much work would it take? I have access to a Qt expert this week. I built Scripter2 with python2. Would it be better trying with python3? Would it be better starting with the version in https://github.com/aoloe/scribus-plugin-scripter ? |
|
Unfortunately I cannot help much on that subject. The original scripter2 code was written during a Google Summer of Code and the author of that code has not shown much (if any) sign of life since then. |
|
hi william, the problem is about connecting the c++ / qt signals and slots with the python / pyqt signals and slots. personally, i've given up for now on the scripter 2, since it relies on two bits of software that are very (very!) clever but not supported / in development (for many years!). i'm trying a different approach based on pybind11, i got pretty far, but i'm not 100% yet that it can become a solution for scribus' scripter needs. i had "access" to a pyqt expert a few years ago and we could not sort it out, but if you can get that to work it would be wonderful! the ticket with a reference to the failing line is: https://github.com/aoloe/scribus-plugin-scripter/issues/7 |
|
Thanks for the replies. |
|
@wiliam, I applied your patch |
|
Thanks. I hope that it helps if anyone tries to continue with scripter2. |
Date Modified | Username | Field | Change |
---|---|---|---|
2018-01-02 04:51 | william | New Issue | |
2018-01-02 04:51 | william | File Added: scribus-scripter2-20180101-233528.pat | |
2018-01-02 04:51 | william | File Added: build-scribus-s2.sh | |
2018-01-02 08:54 | jghali | Note Added: 0044800 | |
2018-01-02 15:04 | william | Note Added: 0044802 | |
2018-01-02 15:15 | jghali | Note Added: 0044803 | |
2018-01-03 08:36 | ale | Note Added: 0044804 | |
2018-01-03 14:09 | william | Note Added: 0044806 | |
2018-01-06 23:49 | jghali | Note Added: 0044817 | |
2018-01-07 03:29 | william | Note Added: 0044820 | |
2024-10-23 18:25 | cbradney | Assigned To | => jghali |
2024-10-23 18:25 | cbradney | Status | new => resolved |
2024-10-23 18:25 | cbradney | Resolution | open => fixed |
2024-10-23 18:42 | cbradney | Status | resolved => closed |