I can read speech-dispatcher, which had the hanging processes, if you want.
mfg Tobias On Sun, 5 Aug 2018 at 01:41, Ben Cooksley <bcooks...@kde.org> wrote: > On Sat, Aug 4, 2018 at 11:06 PM, David Faure <fa...@kde.org> wrote: > > Anyone running FreeBSD, who could to try and debug this hanging unittest > from the ktextwidgets framework? > > > > > https://build.kde.org/view/Frameworks/job/Frameworks%20ktextwidgets%20kf5-qt5%20FreeBSDQt5.10/9/testReport/junit/(root)/TestSuite/ktextwidgets_krichtextedittest/ > > > > There's no waiting of any kind in the code, it's straight QTextDocument > usage, this shouldn't deadlock or anything. > > Yet it times out (after 30 seconds!!) quite often in CI. > > This is a rather unusual failure, as the CI system is giving that test > 5 minutes to timeout, after the test has finished. > > Usually this happens when tests start background daemons and don't > kill those processes off before the test exits (which CTest doesn't > like). > However I don't think it's a background process sticking around in > this case as those type of hangs are usually > manual-intervention-required ones, which this isn't. > > Unfortunately it seems that the issue has gone away though so it's not > possible to dig into this much further... > > https://build.kde.org/view/Frameworks/job/Frameworks%20ktextwidgets%20kf5-qt5%20FreeBSDQt5.10/22/ > > > > > Just a backtrace would be very useful already..... > > > > > > void KRichTextEditTest::testUpdateLinkAdd() > > { > > KRichTextEdit edit; > > edit.enableRichTextMode(); > > > > // Add text, apply initial formatting, and add a link > > QTextCursor cursor = edit.textCursor(); > > cursor.insertText(QStringLiteral("Test")); > > QTextCharFormat charFormat = cursor.charFormat(); > > // Note that QTextEdit doesn't use the palette. Black is black. > > QCOMPARE(charFormat.foreground().color().name(), > QColor(Qt::black).name()); > > > > cursor.select(QTextCursor::BlockUnderCursor); > > edit.setTextCursor(cursor); > > edit.setTextBold(true); > > edit.setTextItalic(true); > > edit.updateLink(QStringLiteral("http://www.kde.org"), > QStringLiteral("KDE")); > > > > // Validate text and formatting > > cursor.movePosition(QTextCursor::Start); > > cursor.select(QTextCursor::WordUnderCursor); > > edit.setTextCursor(cursor); > > QCOMPARE(edit.toPlainText(), QStringLiteral("KDE ")); > > QCOMPARE(edit.fontItalic(), true); > > QCOMPARE(edit.fontWeight(), static_cast<int>(QFont::Bold)); > > QCOMPARE(edit.fontUnderline(), true); > > charFormat = cursor.charFormat(); > > QCOMPARE(charFormat.foreground(), > QBrush(KColorScheme(QPalette::Active, > KColorScheme::View).foreground(KColorScheme::LinkText).color())); > > QCOMPARE(charFormat.underlineColor(), KColorScheme(QPalette::Active, > KColorScheme::View).foreground(KColorScheme::LinkText).color()); > > QCOMPARE(charFormat.underlineStyle(), > QTextCharFormat::SingleUnderline); > > } > > > > -- > > David Faure, fa...@kde.org, http://www.davidfaure.fr > > Working on KDE Frameworks 5 > > > > > > > > Cheers, > Ben >