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

crash when switching between groups #335

Closed
Mintulix opened this issue Feb 20, 2017 · 8 comments
Closed

crash when switching between groups #335

Mintulix opened this issue Feb 20, 2017 · 8 comments

Comments

@Mintulix
Copy link

Mintulix commented Feb 20, 2017

Expected Behavior

When switching groups with a mouse click or per keyboard, the entries of the selected folder should be shown.

Current Behavior

After a few group switches the application crashes and closes. When startet from command line, it just says "Speicherzugriffsfehler" or "memory-access-error".

Possible Solution

?

Steps to Reproduce (for bugs)

  1. compile with parameters "cmake -DWITH_TESTS=OFF -DWITH_XC_AUTOTYPE=ON -DWITH_XC_HTTP=OFF .."
  2. start keepassxc, create a few groups including a few entries
  3. switch between groups a few times
  4. for me it crashes after the 2nd or 3rd switch

Context

Your Environment

  • KeePassXC version/commit used: 2.1.2
  • Qt version (e.g. Qt 5.3): 5.5.1
  • Compiler (e.g. Clang++3.6.0): GNU 5.4.0
  • Operating System and version: Linux Mint 18.1 Cinnamon 64bit, latest updates
@phoerious
Copy link
Member

Are you doing anything else besides clicking on various entries in the group tree?
I am not able to reproduce the crash.

@Mintulix
Copy link
Author

Mintulix commented Feb 20, 2017

No, nothing else. How can I debug this to give you more information?
Just one other point: I didn't make a new database from scratch, but imported it from keepassx 0.4.4.
I didn't change the groups since then. Will make a new database and test it, but not today.

@TheZ3ro
Copy link
Contributor

TheZ3ro commented Feb 20, 2017

Try compiling with -DCMAKE_BUILD_TYPE=Debug and post here the stack trace.

By selecting groups I can't reproduce the bug either

@Mintulix
Copy link
Author

Mintulix commented Feb 20, 2017

$ cmake -DWITH_TESTS=OFF -DWITH_XC_AUTOTYPE=ON -DWITH_XC_HTTP=OFF -DCMAKE_BUILD_TYPE=Debug ..
-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.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
-- Performing Test WERROR_C_AVAILABLE
-- Performing Test WERROR_C_AVAILABLE - Success
-- Performing Test WERROR_CXX_AVAILABLE
-- Performing Test WERROR_CXX_AVAILABLE - Success
-- Found LibGPGError: /usr/lib/x86_64-linux-gnu/libgpg-error.so  
-- Found Gcrypt: /usr/lib/x86_64-linux-gnu/libgcrypt.so (Required is at least version "1.6.0") 
-- Found ZLIB: /usr/lib/x86_64-linux-gnu/libz.so (found version "1.2.8") 
-- Performing Test ZLIB_SUPPORTS_GZIP
-- Performing Test ZLIB_SUPPORTS_GZIP - Success
-- Performing Test HAVE_PR_SET_DUMPABLE
-- Performing Test HAVE_PR_SET_DUMPABLE - Success
-- Performing Test HAVE_RLIMIT_CORE
-- Performing Test HAVE_RLIMIT_CORE - Success
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so
-- Looking for XOpenDisplay in /usr/lib/x86_64-linux-gnu/libX11.so;/usr/lib/x86_64-linux-gnu/libXext.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Found X11: /usr/lib/x86_64-linux-gnu/libX11.so
-- /home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_lt.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_ko.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_el.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_es.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_ja.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_pl.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_pt_BR.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_en_plurals.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_pt_PT.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_da.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_nl_NL.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_zh_TW.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_uk.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_zh_CN.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_fr.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_de.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_ru.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_sv.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_sl_SI.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_cs.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_it.ts;/home/me/compiles/KeePass/keepassxc-2.1.2/share/translations/keepassx_id.ts
-- Enabled features:
 * Autotype , Auto-type passwords in Input fields

-- Disabled features:
 * KeePassHTTP , KeePassHTTP support for ChromeIPass and PassIFox

-- Configuring done
-- Generating done
-- Build files have been written to: /home/me/compiles/KeePass/keepassxc-2.1.2/build

@phoerious
Copy link
Member

phoerious commented Feb 21, 2017

That's not the stack trace.
You get the stack trace by running the keepassxc binary with gdb.

Open a terminal and run

gdb keepassxc

In the appearing input prompt enter run and then try to reproduce your crash. You get the stack trace by running bt after the crash.

@Mintulix
Copy link
Author

Mintulix commented Feb 21, 2017

(gdb) run
Starting program: /usr/local/bin/keepassxc 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Error while mapping shared library sections:
/proc/2724/ns/mnt: Keine Berechtigung.
[New Thread 0x7fffec1a2700 (LWP 2743)]
Error while mapping shared library sections:
/proc/2724/ns/mnt: Keine Berechtigung.
...
Error while mapping shared library sections:
/proc/2724/ns/mnt: Keine Berechtigung.
[New Thread 0x7fffdb355700 (LWP 2978)]
[Thread 0x7fffdb355700 (LWP 2978) exited]
[New Thread 0x7fffdb355700 (LWP 3723)]

Thread 1 "keepassxc" received signal SIGSEGV, Segmentation fault.
0x00007ffff6a03ae8 in QSortFilterProxyModel::parent(QModelIndex const&) const
    () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
(gdb) bt
#0  0x00007ffff6a03ae8 in QSortFilterProxyModel::parent(QModelIndex const&) const () from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
#1  0x00007ffff7b40e5b in QTreeView::isIndexHidden(QModelIndex const&) const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#2  0x00007ffff7b42d87 in QTreeView::visualRect(QModelIndex const&) const ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#3  0x00007ffff7ae94ba in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#4  0x00007ffff7ae99c8 in ?? ()
   from /usr/lib/x86_64-linux-gnu/libQt5Widgets.so.5
#5  0x00007fffee747839 in ?? ()
#6  0x000000000000001b in ?? ()
#7  0x00000000011acd30 in ?? ()
#8  0x00007fffffffd701 in ?? ()
#9  0x0000000000f89278 in ?? ()
#10 0x0000000000f89270 in ?? ()
#11 0x0000000000f89260 in ?? ()
#12 0x0000000000f0e240 in ?? ()
#13 0x0000000080000062 in ?? ()
#14 0x00000000011ad520 in ?? ()
#15 0x00007fffffffd580 in ?? ()
#16 0x0000000000f0e240 in ?? ()
#17 0x00007fffffffd7f0 in ?? ()
---Type <return> to continue, or q <return> to quit---
#18 0x00000000011acd00 in ?? ()
#19 0x00007ffff5de298c in __GI___libc_free (mem=<optimized out>)
    at malloc.c:2966
#20 0x00000000011ad520 in ?? ()
#21 0x00007fffffffd640 in ?? ()
#22 0x0000000000f0e240 in ?? ()
#23 0x00000000011ad520 in ?? ()
#24 0x00000000011acd30 in ?? ()
#25 0x00007fffffffd760 in ?? ()
#26 0x00007fffee747da9 in ?? ()
#27 0x0000000000000401 in ?? ()
#28 0x0000000000ef2b60 in ?? ()
#29 0x0000000000efd230 in ?? ()
#30 0x43cac3075e92a500 in ?? ()
#31 0x0000000000000401 in ?? ()
#32 0x00000000011ad520 in ?? ()
#33 0x00007fffffffd680 in ?? ()
#34 0x00000000011acd30 in ?? ()
#35 0x0000000000f0e240 in ?? ()
#36 0x00007fffffffd640 in ?? ()
#37 0x0000000000000001 in ?? ()
#38 0x00007fffee74d20c in ?? ()
#39 0x00007fffffffd630 in ?? ()
---Type <return> to continue, or q <return> to quit---
#40 0x00007fffffffd760 in ?? ()
#41 0x0000000000000001 in ?? ()
#42 0x00007ffff453b18e in _dbus_connection_unlock ()
   from /lib/x86_64-linux-gnu/libdbus-1.so.3
#43 0x00007ffff453d119 in ?? () from /lib/x86_64-linux-gnu/libdbus-1.so.3
#44 0x00007ffff453eafa in dbus_connection_dispatch ()
   from /lib/x86_64-linux-gnu/libdbus-1.so.3
#45 0x00007ffff6ca6139 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#46 0x00007ffff6cee585 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#47 0x00007ffff6a68c01 in QObject::event(QEvent*) ()
   from /usr/lib/x86_64-linux-gnu/libQt5Core.so.5
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) 

@phoerious
Copy link
Member

phoerious commented Feb 24, 2017

This appears to be some deeper library problem on your system. It's not a KeePassXC bug.
Also these permission errors let assume that your GDB setup is somehow broken. I can't relly help you with this.

I would suggest you try our AppImage and see if that works. If you decide to compile it yourself, try using a different Qt version.

@Mintulix
Copy link
Author

OK, thanks for analyzing. I will try again when I make a new system install in 1 or 2 months.

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

3 participants