SUMMARY I was able to start the program after installing it. I took the opportunity to configure it according to my needs. However, when I tried to restart it, it didn't work anymore. When I try to run it from the terminal, I get the following error messages: ```shell QCommandLineParser: already having an option named "h" QCommandLineParser: already having an option named "help-all" QCommandLineParser: already having an option named "v" zsh: segmentation fault (core dumped) rkward ``` The program doesn't start even if I delete the .rkward configuration folder and STEPS TO REPRODUCE 1. Install RKWard 2. Configure RKWard on first start 3. Relaunch the program OBSERVED RESULT RKWard won't start even if I delete the `.rkward/` configuration folder and reinstall the program. EXPECTED RESULT RKWard starts with the new configuration. SOFTWARE/OS VERSIONS Windows: macOS: Linux/KDE Plasma: RebornOS Linux x86_64 / KDE Plasma 5.27.5 (available in About System) KDE Plasma Version: KDE Plasma 5.27.5 KDE Frameworks Version: 5.106.0 Qt Version: 5.15.9 ADDITIONAL INFORMATION RKWard version: 0.7.5 R version: 4.3.0 RKward and R were installed via pacman; KDE was installed along with the RebornOS distribution. I ran into the problem after configuring RKWard using the settings menu and restarting the program. I reinstalled RKWard and deleted the .rkward configuration folder, but the problem persists.
Please be a bit more specific. What exactly does "does not start anymore" mean? Is it the R backend that fails to start? What error messages do you see? Does it crash / hang? Note that the main configuration file should be found at ~/.config/rkwardrc . You could try deleting that.
(In reply to Thomas Friedrichsmeier from comment #1) > Please be a bit more specific. What exactly does "does not start anymore" > mean? Is it the R backend that fails to start? What error messages do you > see? Does it crash / hang? > > Note that the main configuration file should be found at ~/.config/rkwardrc > . You could try deleting that. Thank you for your response and consideration of my bug report. I think I already answered your questions, but maybe I didn't fill out the report in the right order. When I click the RKWard button, nothing happens; when I try to run it from the terminal, I get the following messages QCommandLineParser: already having an option named "h" QCommandLineParser: already having an option named "help-all" QCommandLineParser: already having an option named "v" zsh: segmentation fault (core dumped) rkward Your tip on where to find the configuration file was very helpful. I deleted it and was able to restart RKWard. I was also able to pinpoint the origin of the problem to the configuration of Kate's plugins. I haven't done a thorough search to find out which plugin is causing the problem reported above, but if I don't change the default configuration, everything works fine.
Created attachment 160290 [details] strace output for rkward crash This is the strace output for rkward when it crashes at start.
(In reply to Eric from comment #3) > Created attachment 160290 [details] > strace output for rkward crash > > This is the strace output for rkward when it crashes at start. Not sure what happened to the rest of my comment, it disappeared after I added the attachment. I'm on Fedora 38. I built version 0.7.5 from the tarball, and also tried building from git. In both cases it is crashing on startup with an error about the R backend: Connection closed unexpectedly. Last error was: QLocalSocket: Remote closed The R backend will be shut down immediately. This means, you can not use any more functions that rely on it.
To be clear, this is a _new_ issue, this time, right (which also happens to pop up at start)? Unfortunately the strace does not really tell anything, importantly, because the R backend is run in a separate process. Looking at /tmp/rkward.rbackend may be more helpful, possibly also after starting with rkward --debug-level 5 But first things first, this problem came up when? After upgrading R, perhaps? If so to what version?
Thank you for the instructions. My system is stock Fedora 38 with R version 4.3.1. The version of rkward shipped with F38 is 0.7.4 and it works fine. Running rkward version 0.7.5 with --debug-level 5 shows an error in the output of /tmp/rkward.rbackend: ... ... lots of stuff here that seems fine ... Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackendprotocol_shared.cpp - function ~RBackendRequest line 42 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrsupport.cpp - function environmentFor line 289 creating new shadow environment for 0x9f94d8 Assert 'Rf_isEnvironment(shadowenvbase)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrsupport.cpp - function environmentFor line 301 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function RWriteConsoleEx line 454 raw output type 1, size 51: Error: argument to 'findVar' is not an environment Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackendprotocol_shared.cpp - function handleOutput line 166 Output type 2: Error: argument to 'findVar' is not an environment Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function doSimpleBackendCall line 968 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrsupport.cpp - function SEXPToStringList line 82 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function doError line 906 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackendprotocol_shared.cpp - function handleOutput line 166 Output type 3: Error: argument to 'findVar' is not an environment error 'Error: argument to 'findVar' is not an environment Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function tryToDoEmergencySave line 603 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function RCleanUp line 536 Created emergency save file in /home/ehm/.rkward/rkward_recover0.RData Cleanup finished Main loop finished Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkbackendtransmitter.cpp - function doExit line 75 Aborting connection to frontend Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rktransmitter.cpp - function disconnected line 270 Trace: /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrbackend.cpp - function tryToDoEmergencySave line 603 Assert 'false' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rksignalsupport.cpp - function signal_proxy line 98
Thanks. Could you attach the full /tmp/rkward.rbackend from that run to this report? What you pasted clearly shows an error, but I'm not sure, it's the first thing going wrong. (My guess is that actually the wrong - 0.7.4 - version of the RKWard R package is being loaded, although that condition is _supposed_ to be handled, automatically).
The file is over 20MB so I can't send it. You were right though, there were errors in there about 0.7.5 not being the correct version it finds. So to simplify things I uninstalled 0.7.4 from the system and ran 0.7.5 again. Both the frontend and rbackend files are very small now, but there is still a crash of the R backend. Here is the output. $ cat /tmp/rkward.frontend resource.ver not found. Data path(s): /home/ehm/.local/share/rkward:/home/ehm/.local/share/flatpak/exports/share/rkward:/var/lib/flatpak/exports/share/rkward:/usr/local/share/rkward:/usr/share/rkward Assert 'QFileInfo::exists(source)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rkward.cpp - function startR line 386 Assert 'QFile::copy(source, package)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rkward.cpp - function startR line 388 Assert 'QFileInfo::exists(source)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rkward.cpp - function startR line 386 Assert 'QFile::copy(source, package)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rkward.cpp - function startR line 388 R syntax highlighting definition ('R interactive session')not found! QMetaObject::invokeMethod: No such method KatePluginIntegrationWindow::createViewBar(KTextEditor::View*) Command failed (other) failed command was 0: 'R Startup' - error message was: '' XML-parsing 'pages//rkward_welcome.rkh' : Could not open file pages//rkward_welcome.rkh for reading XML-parsing 'pages//rkward_welcome.rkh' : Error parsing XML-file. Error-message was: 'unexpected end of file' in line '1', column '1'. Expect further errors to be reported below Wayland does not support QWindow::requestActivate() Wayland does not support QWindow::requestActivate() The Wayland connection experienced a fatal error: Bad file descriptor $ cat /tmp/rkward.rbackend Changing locale New locale codec is UTF-8 Assert 'Rf_isEnvironment(shadowenvbase)' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rkrsupport.cpp - function environmentFor line 301 Created emergency save file in /home/ehm/.rkward/rkward_recover0.RData Assert 'false' failed at /home/packages/SOURCE/rkward-0.7.5/rkward/rbackend/rksignalsupport.cpp - function signal_proxy line 98
It still appears to be essentially the same issue, and more specifically, RKWard does not appear to find _any_ of its own files, including its R package. So, this is quite clearly an installation problem (although it should definitely be handled more gracefully, that is truly a regression I will need to look into). Could you summarize the steps you took to compile / install? And from what path are you starting rkward?
Here is my procedure: tar xvf rkward-0.7.5.tar.gz cd rkward-0.7.5 mkdir ehm_build ehm_install cd ehm_build cmake .. -DR_EXECUTABLE=`which R` -DCMAKE_INSTALL_PREFIX=/home/packages/SOURCE/rkward-0.7.5/ehm_install/ make -j8 make install
I forgot, I start rkward by giving the full path: /home/packages/SOURCE/rkward-0.7.5/ehm_install/bin/rkward
> /home/ehm/.local/share/rkward:/home/ehm/.local/share/flatpak/exports/share/rkward:/var/lib/flatpak/exports/share/rkward:/usr/local/share/rkward:/usr/share/rkward Ok, so the installation path is not among the paths that get searched. I guess, I can see what's happening, here, the assumption still appears to be that the installation directory is one of $XDG_DATA_DIRS. Will need to investigate a fix. We do have some special lookup mechanisms for running directly from the build tree. Try: /home/packages/SOURCE/rkward-0.7.5/ehm_build/rkward/rkward
That works, rkward starts up without error. Thank you!
Git commit 201b2cba2ab3620b297edf3a4b5a05524077ffc9 by Thomas Friedrichsmeier. Committed on 17/07/2023 at 15:42. Pushed by tfry into branch 'master'. Improve support for running from non-standard paths on Linux M +2 -0 ChangeLog M +4 -1 rkward/CMakeLists.txt M +10 -2 rkward/main.cpp https://invent.kde.org/education/rkward/-/commit/201b2cba2ab3620b297edf3a4b5a05524077ffc9
You mentioned building from git, previously. Could you test current git master with your regular build procedure, installing below your home directory, and running from there (i.e. the way that was broken, before)? In theory, this should work, now, too.
Yes, I can confirm this works fine now. I followed the same build procedure in my comment above.
(In reply to Eric from comment #16) > Yes, I can confirm this works fine now. I followed the same build procedure > in my comment above. Except, from git master, of course.