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

FarColorer stalls #996

Closed
ysharoiko opened this issue Apr 27, 2021 · 17 comments
Closed

FarColorer stalls #996

ysharoiko opened this issue Apr 27, 2021 · 17 comments

Comments

@ysharoiko
Copy link

In linux mint based on Debian Buster
build from source on 27 april 2021 20:00 UTC time

Creating new file by F+4 stalls on message
FarColorer
Reloading schema library

PRETTY_NAME="LMDE 4 (debbie)"
NAME="LMDE"
VERSION_ID="4"
VERSION="4 (debbie)"
ID=linuxmint
ID_LIKE=debian
HOME_URL="https://www.linuxmint.com/"
SUPPORT_URL="https://forums.linuxmint.com/"
BUG_REPORT_URL="http://linuxmint-troubleshooting-guide.readthedocs.io/en/latest/"
PRIVACY_POLICY_URL="https://www.linuxmint.com/"
VERSION_CODENAME=debbie
DEBIAN_CODENAME=buster

Screenshot at 2021-04-27 23-52-27

@ysharoiko
Copy link
Author

I found a crash.log in /home/user/.config/far2l
crash.log

@elfmz
Copy link
Owner

elfmz commented Apr 27, 2021

Regarding your crash.log - looks like crashes happened when you tried to close far2l due to some secondary failure. But to be sure need to see far2l's debug symbols, so - please share your far2l binary.

@elfmz
Copy link
Owner

elfmz commented Apr 27, 2021

Also, do following:
open terminal
type: gdb far2l
when gdb will initialize - type in its command line: run
when GUI far2l will open - reproduce stuck
switch back to terminal with gdb and press Ctrl+C
then type following command into gdb console: thread apply all bt
share also full output of that command (it may prompt for several pages - show all)

@ysharoiko
Copy link
Author

After doing run i got error
image

and it seems i compiled with no debug
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from far2l...(no debugging symbols found)...done.
(gdb) run
Starting program: /home/user/far2l
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
argv[0]='/home/user/far2l' g_strFarModuleName='/home/user/far2l' translation_prefix=''

[New Thread 0x7ffff3ea0700 (LWP 4596)]
[New Thread 0x7ffff307d700 (LWP 4597)]
[Thread 0x7ffff307d700 (LWP 4597) exited]
[Thread 0x7ffff3ea0700 (LWP 4596) exited]
[Inferior 1 (process 4592) exited with code 01]

My binary is here
far2l.zip

@ysharoiko
Copy link
Author

ysharoiko commented Apr 29, 2021

I rebuild it with cmake and -DUSEWX=no
gdb seems to run it, but the problem i faced is that no keyboard shortcut are available.
I can't create new file )
And one more thing, if i close terminal with gdb running, far stays running in background
and starting new far gives message:

Some far2l-s lost in space-time nearby:
 1: WinPort
 2: {/} - Far 2.3 21/04/26-1d847868-alpha x64 user@linux
 3: {/home/user} - Far 2.3 21/04/26-1d847868-alpha x64 user@linux
Input instance index to revive or empty string to spawn new far2l

But if i select one of them i cannot quit it, because F10 is not working (at least in MATE Terminal ) and no exit button is available in menu by F9.
It would be great if exit button would also be in F9 menu.

@ysharoiko
Copy link
Author

New binary runnig in gdb
far2l.zip

@elfmz
Copy link
Owner

elfmz commented Apr 29, 2021

Another way - run separate copy, and later attach gdb to it by running gdb --pid=PID_OF_FAR2L
PID_OF_FAR2L can be found by ps aux or echo $FARPID inside of far2l console (before it got stuck)

@ysharoiko
Copy link
Author

As soon as i connect to the far2l with gdb by --pid far stops to accept any commands

@elfmz
Copy link
Owner

elfmz commented Apr 29, 2021

But connect after its already stuck on far colorer, then you will not need to send it commands :)
(actually its possible to type continue in gdb to unfreeze app it attached to, and then when need - stop it again by Ctrl+C in gdb, but its really simplier to attach when need to and immediately invoke thread apply all at)

@ysharoiko
Copy link
Author

ysharoiko commented Apr 30, 2021

This is what i get when creating new file

image

Thread 1 "far2l" received signal SIGABRT, Aborted.
0x00007f9b0d94d7bb in raise () from /lib/x86_64-linux-gnu/libc.so.6
(gdb) thread apply all bt

Thread 6 (Thread 0x7f9b06ffd700 (LWP 4550)):
#0  0x00007f9b0da07037 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000055c8feb2400c in WinPortFSNotify::WatcherProc() ()
#2  0x000055c8feb240e9 in WinPortFSNotify::sWatcherProc(void*) ()
#3  0x00007f9b0de01fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f9b0da0f4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 5 (Thread 0x7f9b077fe700 (LWP 4549)):
#0  0x00007f9b0da07037 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000055c8feb2400c in WinPortFSNotify::WatcherProc() ()
#2  0x000055c8feb240e9 in WinPortFSNotify::sWatcherProc(void*) ()
#3  0x00007f9b0de01fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#4  0x00007f9b0da0f4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 4 (Thread 0x7f9b07fff700 (LWP 4533)):
#0  0x00007f9b0de0800c in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x00007f9b0dd2c3bc in std::condition_variable::wait(std::unique_lock<std::mutex>&) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x000055c8feb3f27f in TTYBackend::WriterThread() ()
#3  0x000055c8feb3f3b9 in TTYBackend::sWriterThread(void*) ()
#4  0x00007f9b0de01fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9b0da0f4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 3 (Thread 0x7f9b0ce2b700 (LWP 4532)):
#0  0x00007f9b0da07037 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000055c8feb3fcd1 in TTYBackend::ReaderLoop() ()
#2  0x000055c8feb403ac in TTYBackend::ReaderThread() ()
#3  0x000055c8feb40779 in TTYBackend::sReaderThread(void*) ()
--Type <RET> for more, q to quit, c to continue without paging--
#4  0x00007f9b0de01fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9b0da0f4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 2 (Thread 0x7f9b0d62c700 (LWP 4531)):
#0  0x00007f9b0da07037 in select () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x000055c8feb55f09 in LocalSocketServer::WaitForClient(int) ()
#2  0x000055c8feb38bf0 in SudoAskpassServer::Thread() ()
#3  0x000055c8feb38c69 in SudoAskpassServer::sThread(void*) ()
#4  0x00007f9b0de01fa3 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#5  0x00007f9b0da0f4cf in clone () from /lib/x86_64-linux-gnu/libc.so.6

Thread 1 (Thread 0x7f9b0d913880 (LWP 4530)):
#0  0x00007f9b0d94d7bb in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1  0x00007f9b0d938535 in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2  0x00007f9b0dd02983 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3  0x00007f9b0dd088c6 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4  0x00007f9b0dd08901 in std::terminate() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5  0x00007f9b0dd08b34 in __cxa_throw () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6  0x00007f9b0dd2fa62 in std::__throw_bad_function_call() () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#7  0x00007f9b0646076c in void spdlog::logger::log<char const*>(spdlog::level::level_enum, char const*, char const* const&) ()
   from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#8  0x00007f9b064607cc in BaseEditor::setFileType(FileType*) () from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#9  0x00007f9b064622ff in BaseEditor::chooseFileType(String const*) () from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#10 0x00007f9b0643ed0d in FarEditor::chooseFileType(String*) () from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#11 0x00007f9b06446bec in FarEditorSet::addCurrentEditor() () from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#12 0x00007f9b06446d2b in FarEditorSet::editorEvent(int, void*) () from /usr/local/lib/far2l/Plugins/colorer/plug/colorer.far-plug-wide
#13 0x000055c8feab04a9 in PluginW::ProcessEditorEvent(int, void*) ()
#14 0x000055c8feaa975c in PluginManager::ProcessEditorEvent(int, void*) ()
#15 0x000055c8fea21741 in FileEditor::Init(wchar_t const*, unsigned int, wchar_t const*, unsigned int, int, int, wchar_t const*, int, int) ()
#16 0x000055c8fea21d3b in FileEditor::FileEditor(wchar_t const*, unsigned int, unsigned int, int, int, wchar_t const*, int) ()
#17 0x000055c8fea3b9eb in FileList::ProcessKey(int) ()
#18 0x000055c8fea3e45e in FilePanels::ProcessKey(int) ()
#19 0x000055c8fea92951 in Manager::ProcessKey(unsigned int) [clone .part.23] ()
#20 0x000055c8fea930ba in Manager::ProcessMainLoop() ()
#21 0x000055c8fea932e1 in Manager::EnterMainLoop() ()
#22 0x000055c8fea8f32a in MainProcess(FARString, FARString, FARString, int, int) ()
#23 0x000055c8fea8f93e in MainProcessWithInterThreadCallsDispatching(FARString&, FARString&, FARString&, int, int) ()
#24 0x000055c8fea8fe99 in FarAppMain(int, char**) ()
#25 0x000055c8feb3eafb in WinPortMainTTY(int, int, bool, unsigned int, int, int, char**, int (*)(int, char**), int*) ()
#26 0x000055c8feb3a77c in WinPortMain ()
#27 0x000055c8fe9c2bc8 in main ()

@elfmz
Copy link
Owner

elfmz commented Apr 30, 2021

oh, that spdlog... Try to remove/reinstall libspdlog-dev and after that - reconfigre from scratch and rebuild far2l.
If still will not help - send me your /usr/include/spdlog and log of fresh run of far2l's cmake configuration (whats cmake prints to stdout when run on clean build dir)

@elfmz
Copy link
Owner

elfmz commented May 2, 2021

Also, try to install libfmt-dev (and rebuild far2l from scratch again)

@ysharoiko
Copy link
Author

Did not helped

spdlog.zip

My cmake output

cmake -DUSEWX=no -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 8.3.0
-- The CXX compiler identification is GNU 8.3.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Build Type: Release Version: 2.3.210426_1d847868_alpha
-- Building without wxWidgets backend due to USEWX=no
-- Enabling registry support due to enabled LEGACY
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29") 
-- generating headers and languages
-- Found Uchardet: /usr/local/lib/libuchardet.so  
-- ALIGN plugin enabled
-- AUTOWRAP plugin enabled
-- CALC plugin enabled
-- COLORER plugin enabled
-- Build Colorer: 1.0.5
-- Found Spdlog: /usr/include  
-- Found Xerces-C: /usr/lib/x86_64-linux-gnu/libxerces-c.so
-- Found fmt: /usr/local/include (found version "7.1.4") 
-- Found Xerces-C: /usr/lib/x86_64-linux-gnu/libxerces-c.so
-- COMPARE plugin enabled
-- DRAWLINE plugin enabled
-- EDITCASE plugin enabled
-- EDITORCOMP plugin enabled
-- FILECASE plugin enabled
-- INCSRCH plugin enabled
-- INSIDE plugin enabled
-- MULTIARC plugin enabled
-- Found LibArchive: /usr/lib/x86_64-linux-gnu/libarchive.so (found version "3.3.3") 
-- Found PCRE: /usr/lib/x86_64-linux-gnu/libpcre.so  
-- NETROCKS plugin enabled
-- Checking for module 'openssl'
--   Found openssl, version 1.1.1d
-- Found OpenSSL: /usr/lib/x86_64-linux-gnu/libssl.so;/usr/lib/x86_64-linux-gnu/libcrypto.so  
-- OpenSSL found -> enjoy FTPS support in NetRocks
-- Found LibSSH: /usr/lib/x86_64-linux-gnu/libssh.so (Required is at least version "0.5.0") 
-- libssh found -> enjoy SFTP support in NetRocks
-- libsmbclient found -> enjoy SMB support in NetRocks
-- Found LibNfs: /usr/lib/x86_64-linux-gnu/libnfs.so  
-- libnfs found -> enjoy NFS support in NetRocks
-- Found LibNEON: /usr/lib/x86_64-linux-gnu/libneon.so  
-- libneon found -> enjoy WebDav support in NetRocks
-- PYTHON plugin disabled, use -DPYTHON=yes if you need it
-- SIMPLEINDENT plugin enabled
-- TMPPANEL plugin enabled
-- Generating DEB-package build dependencies
-- Configuring done
-- Generating done
-- Build files have been written to: /usr/local/src/3_far/far2l/build

@ysharoiko
Copy link
Author

I found that error is not always happens
But cannot find regularity

I have one xterm opened and it never fails there
But in new xterms or mate-terminal it always fails

The difference that i could found was shim.far2l process does not start in other terminals, only in one that not fails
And it starts if i run from build directory

21438 pts/11   S+     0:00 shim.far2l
21439 ?        Ssl    0:00 ./install/far2l

But If i just put far2l binary into /usr/local/bin, this process does not appear and error on creating file happens.
Does not matter if it was run under user or root

@ysharoiko
Copy link
Author

ysharoiko commented May 5, 2021

Aga, i replaced /usr/loca/lib/far2l/Plugins directory with new ones and it works now

@elfmz
Copy link
Owner

elfmz commented May 5, 2021

well, but how did you install it then initially? It should replace plugins by make install

@ysharoiko ysharoiko reopened this May 6, 2021
@ysharoiko
Copy link
Author

I did like in README.md
make -j$(nproc --all)
without install

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