Bug 295400 - dolphin crash while click on the git push when under git-svn clone'd directory
Summary: dolphin crash while click on the git push when under git-svn clone'd directory
Status: RESOLVED FIXED
Alias: None
Product: dolphin
Classification: Applications
Component: plugins: git (show other bugs)
Version: 2.0
Platform: Chakra Linux
: NOR crash
Target Milestone: ---
Assignee: Sebastian Dörner
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-06 04:15 UTC by Weng Xuetian
Modified: 2012-04-22 23:15 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.8.3


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Weng Xuetian 2012-03-06 04:15:14 UTC
Reproduce:
1. git svn clone any-directroy
2. open this directory with dolphin
3. Click "Git Push"

KDE 4.8.1, Qt 4.8.0
git 1.7.7.4

Backtrace:

Application: Dolphin (kdeinit4), signal: Segmentation fault
[Current thread is 1 (Thread 0x7f4d9d9c3760 (LWP 4897))]

Thread 2 (Thread 0x7f4d83b52700 (LWP 4898)):
#0  0x00007f4d9afd7123 in poll () from /lib/libc.so.6
#1  0x00007f4d98003c14 in ?? () from /usr/lib/libglib-2.0.so.0
#2  0x00007f4d9800414d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#3  0x00007f4d9c5fcfc6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#4  0x00007f4d9c5cce22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#5  0x00007f4d9c5cd077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#6  0x00007f4d9c4ccbf7 in QThread::exec() () from /usr/lib/libQtCore.so.4
#7  0x00007f4d9c5acc9f in ?? () from /usr/lib/libQtCore.so.4
#8  0x00007f4d9c4cfc1b in ?? () from /usr/lib/libQtCore.so.4
#9  0x00007f4d9c23edf0 in start_thread () from /lib/libpthread.so.0
#10 0x00007f4d9afdf39d in clone () from /lib/libc.so.6
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7f4d9d9c3760 (LWP 4897)):
[KCrash Handler]
#6  ref (this=0x61) at /usr/include/QtCore/qatomic_x86_64.h:121
#7  QString (other=..., this=0x27d0be8) at /usr/include/QtCore/qstring.h:726
#8  node_construct (t=..., n=0x27d0be8, this=<optimized out>) at /usr/include/QtCore/qlist.h:373
#9  QList<QString>::append (this=<optimized out>, t=...) at /usr/include/QtCore/qlist.h:512
#10 0x00007f4d7dfb9612 in operator<< (str=<optimized out>, this=0x7fff9e327550) at /usr/include/QtCore/qstringlist.h:90
#11 PushDialog::PushDialog (this=0x7fff9e327730, parent=<optimized out>) at /chakra/desktop-testing/kdesdk/src/kdesdk-4.8.1/dolphin-plugins/git/pushdialog.cpp:96
#12 0x00007f4d7dfb1296 in FileViewGitPlugin::push (this=0x2626be0) at /chakra/desktop-testing/kdesdk/src/kdesdk-4.8.1/dolphin-plugins/git/fileviewgitplugin.cpp:469
#13 0x00007f4d9c5e1dc1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#14 0x00007f4d9b75cf32 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#15 0x00007f4d9b75d11f in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#16 0x00007f4d9bb8afc9 in ?? () from /usr/lib/libQtGui.so.4
#17 0x00007f4d9bb910d2 in ?? () from /usr/lib/libQtGui.so.4
#18 0x00007f4d9d476f30 in KMenu::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libkdeui.so.5
#19 0x00007f4d9b7b3a94 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#20 0x00007f4d9bb9266b in QMenu::event(QEvent*) () from /usr/lib/libQtGui.so.4
#21 0x00007f4d9b7633e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#22 0x00007f4d9b768b33 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#23 0x00007f4d9d3b6426 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#24 0x00007f4d9c5ce03c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#25 0x00007f4d9b7643b2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#26 0x00007f4d9b7e09b4 in ?? () from /usr/lib/libQtGui.so.4
#27 0x00007f4d9b7df10a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#28 0x00007f4d9b806812 in ?? () from /usr/lib/libQtGui.so.4
#29 0x00007f4d980036d3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#30 0x00007f4d98003eb0 in ?? () from /usr/lib/libglib-2.0.so.0
#31 0x00007f4d9800414d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#32 0x00007f4d9c5fcf5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#33 0x00007f4d9b8064ae in ?? () from /usr/lib/libQtGui.so.4
#34 0x00007f4d9c5cce22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#35 0x00007f4d9c5cd077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#36 0x00007f4d9bb8ea01 in QMenu::exec(QPoint const&, QAction*) () from /usr/lib/libQtGui.so.4
#37 0x00007f4d897cf3b3 in ?? () from /usr/lib/libkdeinit4_dolphin.so
#38 0x00007f4d897d0005 in ?? () from /usr/lib/libkdeinit4_dolphin.so
#39 0x00007f4d897c454a in ?? () from /usr/lib/libkdeinit4_dolphin.so
#40 0x00007f4d897c91b7 in ?? () from /usr/lib/libkdeinit4_dolphin.so
#41 0x00007f4d9c5e1dc1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#42 0x00007f4d89061704 in DolphinView::requestContextMenu(QPoint const&, KFileItem const&, KUrl const&, QList<QAction*> const&) () from /usr/lib/libdolphinprivate.so.4
#43 0x00007f4d89062283 in DolphinView::slotViewContextMenuRequested(QPointF const&) () from /usr/lib/libdolphinprivate.so.4
#44 0x00007f4d9c5e1dc1 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#45 0x00007f4d8903b1e5 in KItemListController::viewContextMenuRequested(QPointF const&) () from /usr/lib/libdolphinprivate.so.4
#46 0x00007f4d8903bbc9 in KItemListController::mousePressEvent(QGraphicsSceneMouseEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.4
#47 0x00007f4d8903a2a0 in KItemListController::processEvent(QEvent*, QTransform const&) () from /usr/lib/libdolphinprivate.so.4
#48 0x00007f4d89044f35 in KItemListView::event(QEvent*) () from /usr/lib/libdolphinprivate.so.4
#49 0x00007f4d9b7633e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#50 0x00007f4d9b768263 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#51 0x00007f4d9d3b6426 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#52 0x00007f4d9c5ce03c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#53 0x00007f4d9bd4c61e in ?? () from /usr/lib/libQtGui.so.4
#54 0x00007f4d9bd4d22a in ?? () from /usr/lib/libQtGui.so.4
#55 0x00007f4d9bd52014 in ?? () from /usr/lib/libQtGui.so.4
#56 0x00007f4d9bd5256f in QGraphicsScene::mousePressEvent(QGraphicsSceneMouseEvent*) () from /usr/lib/libQtGui.so.4
#57 0x00007f4d9bd5bd9f in QGraphicsScene::event(QEvent*) () from /usr/lib/libQtGui.so.4
#58 0x00007f4d9b7633e4 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#59 0x00007f4d9b768263 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#60 0x00007f4d9d3b6426 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#61 0x00007f4d9c5ce03c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#62 0x00007f4d9bd715ff in QGraphicsView::mousePressEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#63 0x00007f4d9b7b3d79 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#64 0x00007f4d9bb500b6 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#65 0x00007f4d9bd7a13b in QGraphicsView::viewportEvent(QEvent*) () from /usr/lib/libQtGui.so.4
#66 0x00007f4d9c5ce1c8 in QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#67 0x00007f4d9b7633af in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#68 0x00007f4d9b768b33 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#69 0x00007f4d9d3b6426 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#70 0x00007f4d9c5ce03c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#71 0x00007f4d9b7643b2 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#72 0x00007f4d9b7e0318 in ?? () from /usr/lib/libQtGui.so.4
#73 0x00007f4d9b7df10a in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#74 0x00007f4d9b806812 in ?? () from /usr/lib/libQtGui.so.4
#75 0x00007f4d980036d3 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#76 0x00007f4d98003eb0 in ?? () from /usr/lib/libglib-2.0.so.0
#77 0x00007f4d9800414d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#78 0x00007f4d9c5fcf5f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#79 0x00007f4d9b8064ae in ?? () from /usr/lib/libQtGui.so.4
#80 0x00007f4d9c5cce22 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#81 0x00007f4d9c5cd077 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#82 0x00007f4d9c5d1bd5 in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#83 0x00007f4d897d185d in kdemain () from /usr/lib/libkdeinit4_dolphin.so
#84 0x00000000004087df in _start ()
Comment 1 Sebastian Dörner 2012-04-14 22:33:48 UTC
Could you paste the output of "git branch -a" in this repository?

This crash seems to have the same reason as this one:
https://bugs.kde.org/show_bug.cgi?id=280235

Ideally, I would like to react appropriately to whatever the branches look like in these SVN-converted repositories, hence the request for the output. We could just exit gracefully, but then we might miss the respective branch in the list.
Comment 2 Weng Xuetian 2012-04-15 02:36:49 UTC
So here it is.

$ git branch -a
* fcitx
  master
  remotes/git-svn
  remotes/origin/HEAD -> origin/master
  remotes/origin/fcitx
  remotes/origin/master
Comment 3 Sebastian Dörner 2012-04-15 23:50:47 UTC
Thanks for pasting that. So the problem is "removes/git-svn". Do you know what kind of branch that is? Is it really a remote branch? Because then the actual branch-name is missing. Is it something remote, something you could / would want to push to? The basic question is if I should list it in the remote branches (the push targets).

If you know that would be useful. But if not, never mind, I can research that myself. Thanks for your help in any case. Fixing shouldn't be too difficult, but I'm in exam preparation, so can't promise it for 4.8.3.
Comment 4 Weng Xuetian 2012-04-16 01:58:56 UTC
Emm.. it's something that used to track svn position, will only update when git-svn is used.

This might help: http://progit.org/book/ch8-1.html
Comment 5 Sebastian Dörner 2012-04-22 22:49:25 UTC
SVN commit 1291047 by doerner:

Git push dialog: Don't segfault at hitting git-svn's pseudo branches


 M  +2 -0      pushdialog.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1291047
Comment 6 Sebastian Dörner 2012-04-22 22:53:50 UTC
SVN commit 1291048 by doerner:

Backport commit r1291047: Git push dialog: Don't segfault at hitting git-svn's pseudo branches

FIXED-IN: 4.8.3


 M  +2 -0      pushdialog.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1291048
Comment 7 Sebastian Dörner 2012-04-22 23:15:23 UTC
SVN commit 1291051 by doerner:

Backport commit 1291049: Git push dialog: Disable OK button if we have no valid remote branch



 M  +1 -0      pushdialog.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1291051