https://bugs.kde.org/show_bug.cgi?id=386952

            Bug ID: 386952
           Summary: "pure virtual function called" from Phabricator plugin
           Product: Purpose
           Version: unspecified
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: general
          Assignee: aleix...@kde.org
          Reporter: rjvber...@gmail.com
  Target Milestone: ---

I experienced the abort below, which I can reproduce systematically as follows:
1) start tests/tool/sharetool foo.txt
2) click on the Phabricator button
3) click the Back button immediately, not giving the arcanist helper process
time to finish (helper spawned by the DiffRevList class).

For a reason which I fail to understand, instead of invoking
DiffRevList::done(), the runtime will than invoke DifferentialRevision::done(),
which is indeed a pure virtual function. I verified this by implementing it and
letting it call qFatal().

I see three possible solution:
1) make DifferentialRevision::done() a stub method that does nothing
2) don't connect m_arcCmd's finished signal to DifferentialRevision::done()
(and connect m_arcCmd to the appropriate slot in each class inheriting
DifferentialRevision
3) disconnect m_arcCmd's finished signal in DiffRevList::buildArcCommand() .

Options 2 & 3 are maybe cleaner than 1), with 3) requiring less changes than
2). 

(btw, Purpose should list the bug-reporting address so crashes can be reported
via DrKonqi, no?)

Thread 1 (Thread 0x7f5498f23780 (LWP 11318)):
[KCrash Handler]
#6  0x00007f5495a13c37 in __GI_raise (sig=sig@entry=6) at
../nptl/sysdeps/unix/sysv/linux/raise.c:56
#7  0x00007f5495a17028 in __GI_abort () at abort.c:89
#8  0x00007f549632f415 in __gnu_cxx::__verbose_terminate_handler() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#9  0x00007f549632d206 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#10 0x00007f549632d251 in std::terminate() () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#11 0x00007f549632df8f in __cxa_pure_virtual () from
/usr/lib/x86_64-linux-gnu/libstdc++.so.6
#12 0x00007f549689332e in call (a=0x7ffcd4e23bb0, r=0x44f7ea0, this=<optimized
out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/include/QtCore/../../src/corelib/kernel/qobject_impl.h:101
#13 QMetaObject::activate (sender=sender@entry=0x44f7eb8,
signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=2,
argv=argv@entry=0x7ffcd4e23bb0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:3723
#14 0x00007f54968938c7 in QMetaObject::activate (sender=sender@entry=0x44f7eb8,
m=m@entry=0x7f5496cb11c0 <QProcess::staticMetaObject>,
local_signal_index=local_signal_index@entry=2, argv=argv@entry=0x7ffcd4e23bb0)
at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:3602
#15 0x00007f54967a162f in QProcess::finished (this=this@entry=0x44f7eb8,
_t1=<optimized out>, _t2=<optimized out>) at .moc/moc_qprocess.cpp:334
#16 0x00007f54967a9263 in QProcessPrivate::_q_processDied
(this=this@entry=0x45269e0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/io/qprocess.cpp:1176
#17 0x00007f5496800927 in QProcessPrivate::waitForFinished
(this=this@entry=0x45269e0, msecs=msecs@entry=30000) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/io/qprocess_unix.cpp:895
#18 0x00007f54967a35bd in QProcess::waitForFinished (this=this@entry=0x44f7eb8,
msecs=msecs@entry=30000) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/io/qprocess.cpp:1919
#19 0x00007f54967a3d0d in QProcess::~QProcess (this=0x44f7eb8,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/io/qprocess.cpp:1258
#20 0x00007f546e57b16b in
Phabricator::DifferentialRevision::~DifferentialRevision (this=0x44f7ea0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-purpose/kf5-purpose-devel/work/build/src/plugins/phabricator/PhabricatorHelpers_autogen/EWIEGA46WW/../../../../../../../../../../../../../../home/bertin/work/src/Scratch/KDE/KF5/purpose-git/src/plugins/phabricator/phabricatorjobs.h:38
#21 0x00007f546e57b468 in ~DiffRevList (this=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-purpose/kf5-purpose-devel/work/build/src/plugins/phabricator/PhabricatorHelpers_autogen/EWIEGA46WW/../../../../../../../../../../../../../../home/bertin/work/src/Scratch/KDE/KF5/purpose-git/src/plugins/phabricator/phabricatorjobs.h:112
#22 Phabricator::DiffRevList::~DiffRevList (this=0x44f7ea0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-purpose/kf5-purpose-devel/work/build/src/plugins/phabricator/PhabricatorHelpers_autogen/EWIEGA46WW/../../../../../../../../../../../../../../home/bertin/work/src/Scratch/KDE/KF5/purpose-git/src/plugins/phabricator/phabricatorjobs.h:112
#23 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x44f7da0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#24 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#25 0x00007f546e784098 in ~DiffListModel (this=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-purpose/kf5-purpose-devel/work/kf5-purpose-5/src/plugins/phabricator/quick/difflistmodel.h:31
#26 ~QQmlElement (this=<optimized out>) at
/opt/local/include/qt5/QtQml/qqmlprivate.h:104
#27 QQmlPrivate::QQmlElement<DiffListModel>::~QQmlElement (this=0x44f7ce0) at
/opt/local/include/qt5/QtQml/qqmlprivate.h:102
#28 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x436c980) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#29 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#30 0x00007f5483b96a7f in QQuickItem::~QQuickItem (this=0x44ef2e0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:2296
#31 0x00007f5483baecf6 in ~QQmlElement (this=0x44ef2e0, __in_chrg=<optimized
out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#32 QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement (this=0x44ef2e0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#33 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x4501c80) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#34 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#35 0x00007f5483b96a7f in QQuickItem::~QQuickItem (this=0x44e30a0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:2296
#36 0x00007f5475fa9f9a in QQuickLayout::~QQuickLayout (this=0x44e30a0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklayout.cpp:698
#37 0x00007f5475fa6fa4 in ~QQuickLinearLayout (this=0x44e30a0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklinearlayout_p.h:191
#38 ~QQuickColumnLayout (this=0x44e30a0, __in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklinearlayout_p.h:238
#39 ~QQmlElement (this=0x44e30a0, __in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#40 QQmlPrivate::QQmlElement<QQuickColumnLayout>::~QQmlElement (this=0x44e30a0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#41 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x456d2e0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#42 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#43 0x00007f5483b96a7f in QQuickItem::~QQuickItem (this=0x4572980,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:2296
#44 0x00007f5483bafd56 in ~QQmlElement (this=0x4572980, __in_chrg=<optimized
out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#45 QQmlPrivate::QQmlElement<QQuickLoader>::~QQmlElement (this=0x4572980,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#46 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x4506130) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#47 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#48 0x00007f5483b96a7f in QQuickItem::~QQuickItem (this=0x45034f0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:2296
#49 0x00007f5483baecf6 in ~QQmlElement (this=0x45034f0, __in_chrg=<optimized
out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#50 QQmlPrivate::QQmlElement<QQuickFocusScope>::~QQmlElement (this=0x45034f0,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#51 0x00007f5496890cb1 in QObjectPrivate::deleteChildren
(this=this@entry=0x45ab920) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1970
#52 0x00007f549689a92f in QObject::~QObject (this=<optimized out>,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1041
#53 0x00007f5483b96a7f in QQuickItem::~QQuickItem (this=0x457e870,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:2296
#54 0x00007f5475fa9f9a in QQuickLayout::~QQuickLayout (this=0x457e870,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklayout.cpp:698
#55 0x00007f5475fa6fa4 in ~QQuickLinearLayout (this=0x457e870,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklinearlayout_p.h:191
#56 ~QQuickColumnLayout (this=0x457e870, __in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/imports/layouts/qquicklinearlayout_p.h:238
#57 ~QQmlElement (this=0x457e870, __in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#58 QQmlPrivate::QQmlElement<QQuickColumnLayout>::~QQmlElement (this=0x457e870,
__in_chrg=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/include/QtQml/../../src/qml/qml/qqmlprivate.h:104
#59 0x00007f5496894158 in QObject::event (this=this@entry=0x457e870,
e=e@entry=0x4608160) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qobject.cpp:1254
#60 0x00007f5483b9395b in QQuickItem::event (this=0x457e870, ev=0x4608160) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtdeclarative/src/quick/items/qquickitem.cpp:7698
#61 0x00007f5497970a5c in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x457e870, e=0x4608160) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/widgets/kernel/qapplication.cpp:3745
#62 0x00007f5497977cd1 in QApplication::notify (this=0x7ffcd4e24ba0,
receiver=0x457e870, e=0x4608160) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/widgets/kernel/qapplication.cpp:3502
#63 0x00007f5496868018 in QCoreApplication::notifyInternal2
(receiver=0x457e870, event=event@entry=0x4608160) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:995
#64 0x00007f549686a67d in sendEvent (event=0x4608160, receiver=<optimized out>)
at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qcoreapplication.h:231
#65 QCoreApplicationPrivate::sendPostedEvents (receiver=receiver@entry=0x0,
event_type=event_type@entry=0, data=0x24c4330) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1655
#66 0x00007f549686aae8 in QCoreApplication::sendPostedEvents
(receiver=receiver@entry=0x0, event_type=event_type@entry=0) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1509
#67 0x00007f54968ba173 in postEventSourceDispatch (s=0x2526240) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:276
#68 0x00007f5493995e37 in g_main_context_dispatch () from
/opt/local/lib/libglib-2.0.so.0
#69 0x00007f5493996108 in g_main_context_iterate.isra () from
/opt/local/lib/libglib-2.0.so.0
#70 0x00007f549399618c in g_main_context_iteration () from
/opt/local/lib/libglib-2.0.so.0
#71 0x00007f54968ba57f in QEventDispatcherGlib::processEvents (this=0x2525140,
flags=...) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#72 0x00007f549686617a in QEventLoop::exec (this=this@entry=0x7ffcd4e24ab0,
flags=..., flags@entry=...) at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qeventloop.cpp:212
#73 0x00007f549686e524 in QCoreApplication::exec () at
/opt/local/var/lnxports/build/_opt_local_site-ports_aqua_qt5-kde-devel/qt5-kde-devel/work/qt-everywhere-opensource-src-5.8.0/qtbase/src/corelib/kernel/qcoreapplication.cpp:1268
#74 0x000000000040391f in main (argc=<optimized out>, argv=<optimized out>) at
/opt/local/var/lnxports/build/_opt_local_site-ports_kf5_kf5-purpose/kf5-purpose-devel/work/kf5-purpose-5/tests/tool/main.cpp:104

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to