Bug 357297 - KDESVN crash after entering password
Summary: KDESVN crash after entering password
Status: RESOLVED FIXED
Alias: None
Product: kdesvn
Classification: Applications
Component: General (other bugs)
Version First Reported In: 1.6.0
Platform: openSUSE Linux
: NOR crash
Target Milestone: ---
Assignee: Christian Ehrlicher
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-12-29 08:26 UTC by opensuse.lietuviu.kalba
Modified: 2016-01-15 16:03 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Possible fix (1.40 KB, patch)
2015-12-29 12:28 UTC, Christian Ehrlicher
Details
Simple patch against 1.6.0 (341 bytes, patch)
2015-12-29 12:53 UTC, Christian Ehrlicher
Details

Note You need to log in before you can comment on or make changes to this bug.
Description opensuse.lietuviu.kalba 2015-12-29 08:26:58 UTC
Application: kdesvn (1.6.0)
KDE Platform Version: 4.14.9
Qt Version: 4.8.6
Operating System: Linux 3.16.7-29-desktop x86_64
Distribution: "openSUSE 13.2 (Harlequin) (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:

I opened svn+ssh://svn@svn.kde.org/home/kde/trunk/ in KDESVN, program repeatedly asked to enter password. Though I enter correct password, it asks for password again and again. After one entering of password, KDESVN crashed.

-- Backtrace:
Application: kdesvn (kdesvn), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f13d014f7c0 (LWP 16743))]

Thread 2 (Thread 0x7f13b8633700 (LWP 16796)):
[KCrash Handler]
#6  0x00007f13be82c76d in  () at /usr/lib64/kde4/kdesvnpart.so
#7  0x00007f13cfb3479f in QThreadPrivate::start(void*) (arg=0x2807f20) at thread/qthread_unix.cpp:349
#8  0x00007f13ccea60a4 in start_thread (arg=0x7f13b8633700) at pthread_create.c:309
#9  0x00007f13cd1a008d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f13d014f7c0 (LWP 16743)):
#0  0x00007f13cd193d2d in read () at ../sysdeps/unix/syscall-template.S:81
#1  0x00007f13cc802750 in  () at /usr/lib64/libglib-2.0.so.0
#2  0x00007f13cc7c1714 in g_main_context_check () at /usr/lib64/libglib-2.0.so.0
#3  0x00007f13cc7c1b7b in  () at /usr/lib64/libglib-2.0.so.0
#4  0x00007f13cc7c1cec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#5  0x00007f13cfc630be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x25aff50, flags=...) at kernel/qeventdispatcher_glib.cpp:450
#6  0x00007f13cf06c676 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#7  0x00007f13cfc34e6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc5193fed0, flags=...) at kernel/qeventloop.cpp:149
#8  0x00007f13cfc35165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc5193fed0, flags=...) at kernel/qeventloop.cpp:204
#9  0x00007f13cfc3a5b9 in QCoreApplication::exec() () at kernel/qcoreapplication.cpp:1225
#10 0x000000000040a797 in  ()
#11 0x00007f13cd0dcb05 in __libc_start_main (main=0x40a010, argc=3, argv=0x7ffc519402b8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc519402a8) at libc-start.c:285
#12 0x000000000040ad63 in _start ()

Reported using DrKonqi
Comment 1 Christian Ehrlicher 2015-12-29 09:11:35 UTC
What password was it asking for? I think it was the password for your private ssh key for kde infrastructure, correct? At least that's the case here on my site.
Comment 2 opensuse.lietuviu.kalba 2015-12-29 09:12:19 UTC
Yes, SSH password
Comment 3 Christian Ehrlicher 2015-12-29 09:30:19 UTC
Ok, although I can't confirm the crash (after ~20 times asking for a password I gave up) with current git HEAD, I can confirm that the password is asked for an infinite time. I'll try to investigate what happens here.
Comment 4 opensuse.lietuviu.kalba 2015-12-29 09:37:13 UTC
Maybe crash is related to fact, that at some time I opened another svn+ssh://svn@svn.kde.org/home/kde/ directory in same window
Comment 5 Christian Ehrlicher 2015-12-29 12:28:04 UTC
Created attachment 96356 [details]
Possible fix

Proposed patch to fix this issue.
Is it possible for you to compile current kdesvn HEAD on your system to check if the attached patch will resolve the issue?
Comment 6 opensuse.lietuviu.kalba 2015-12-29 12:42:56 UTC
I prefer building RPM packages online by branhing existing packages, e.g. https://build.opensuse.org/package/show/KDE:Extra/kdesvn is for KDESVN. I tryed to add patch in https://build.opensuse.org/package/show/home:embar-:branches:KDE:Extra/kdesvn , but seems it requires same edit in patch for succesfull build...
Comment 7 Christian Ehrlicher 2015-12-29 12:53:18 UTC
Created attachment 96357 [details]
Simple patch against 1.6.0

Here a simple patch against 1.6.0 :)
Comment 8 opensuse.lietuviu.kalba 2015-12-29 13:25:34 UTC
With patch for 1.6.0 build success. Thanks, now password requested only once ;)
Comment 9 Christian Ehrlicher 2015-12-31 08:47:43 UTC
Git commit f7374b01f73eb4155516c355539028e65daf9160 by Christian Ehrlicher.
Committed on 31/12/2015 at 08:47.
Pushed by chehrlic into branch 'master'.

Run ssh-add every time because we don't know if ssh-add was run before and all keys are added. Otherwise every svn action will result in a passphrase request
REVIEW: 126572

M  +5    -4    src/helpers/sshagent.cpp

http://commits.kde.org/kdesvn/f7374b01f73eb4155516c355539028e65daf9160
Comment 10 opensuse.lietuviu.kalba 2016-01-15 13:05:47 UTC
After some updates (perhaps some SVN or SSH library update) via openSUSE security updates, KDESVN program again asks for password multiple times when connecting to svn+ssh://svn@svn.kde.org/home/kde/trunk/ ... Though they don't lead to crashing.
Comment 11 Christian Ehrlicher 2016-01-15 15:26:30 UTC
Are you sure that you're using your own compiled kdesvn version? Sounds like it was overwritten with an old one.
You can trigger the addition of your identity in kdesvn:
- start kdesvn without url (from konsole to see possible error messages)
- click subversion -> add ssh identities to ssh-agent
- open your url

btw: I've added an obs for kdesvn (currently only opensuse distributions) here: http://download.opensuse.org/repositories/home:/chehrlic/
Comment 12 opensuse.lietuviu.kalba 2016-01-15 15:59:33 UTC
kdesvn package didnot changed itseft:

> LANG=C rpm -qi kdesvn
Name        : kdesvn
Version     : 1.6.0
Release     : 23.1
Architecture: x86_64
Install Date: Tue Dec 29 15:23:06 2015
Group       : Development/Tools/Version Control
Size        : 4372949
License     : GPL-2.0+
Signature   : RSA/SHA1, Tue Dec 29 15:02:23 2015, Key ID 1c1412b3f00e5642
Source RPM  : kdesvn-1.6.0-23.1.src.rpm
Build Date  : Tue Dec 29 15:01:33 2015
Build Host  : build12
Relocations : (not relocatable)
Vendor      : obs://build.opensuse.org/home:embar-
URL         : http://kdesvn.alwins-world.de/
Summary     : KDE Subversion Client
Description :
kdesvn is a GUI client for subversion repositories.
Distribution: home:embar-:branches:KDE:Extra / openSUSE_13.2
Comment 13 opensuse.lietuviu.kalba 2016-01-15 16:03:27 UTC
(In reply to Christian Ehrlicher from comment #11)

> You can trigger the addition of your identity in kdesvn:
> - start kdesvn without url (from konsole to see possible error messages)
> - click subversion -> add ssh identities to ssh-agent
> - open your url
> 

Thanks, this helped!