Summary: | dev-qt/qthelp-4.8.x - Bus error in ${S}/bin/qdoc3 qt-api-only.qdocconf assistant.qdocconf designer.qdocconf linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Graham Murray <gmurray> |
Component: | [OLD] Library | Assignee: | Qt Bug Alias <qt> |
Status: | RESOLVED WORKSFORME | ||
Severity: | normal | CC: | rainer, rono, simoncion, xmw |
Priority: | Normal | Keywords: | REGRESSION |
Version: | unspecified | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 371525 | ||
Attachments: |
Build log
build.log |
Description
Graham Murray
2012-01-31 10:18:00 UTC
Is it reproducable? Does dmesg contain something at about that time? If you are lucky, this was just bad luck, but it also could be a hardware error... (In reply to comment #1) > Is it reproducable? > Does dmesg contain something at about that time? > If you are lucky, this was just bad luck, but it also could be a hardware > error... Yes, it is reproducible and shows the same error on two system (I have tried 3 tines on each). There is nothing in dmesg at the time. Because it happens on 2 systems, I think it would be too much of a co-incidence for both to have the same hardware error causing it to be reproducible on both systems - always failing in the same place. /bin/sh: line 1: 7608 Bus error (core dumped) QT_BUILD_TREE=/var/tmp/portage/x11-libs/qt-assistant-4.8.0/work/qt-everywhere-opensource-src-4.8.0 QT_SOURCE_TREE=/var/tmp/portage/x11-libs/qt-assistant-4.8.0/work/qt-everywhere-opensource-src-4.8.0 /var/tmp/portage/x11-libs/qt-assistant-4.8.0/work/qt-everywhere-opensource-src-4.8.0/bin/qdoc3 qt-api-only.qdocconf assistant.qdocconf designer.qdocconf linguist.qdocconf qmake.qdocconf qdeclarative.qdocconf (In reply to comment #2) > (In reply to comment #1) > > Is it reproducable? > > Does dmesg contain something at about that time? > > If you are lucky, this was just bad luck, but it also could be a hardware > > error... > > Yes, it is reproducible and shows the same error on two system (I have tried 3 > tines on each). There is nothing in dmesg at the time. Because it happens on 2 > systems, I think it would be too much of a co-incidence for both to have the > same hardware error causing it to be reproducible on both systems - always > failing in the same place. Are both systems x86? (In reply to comment #4) > Are both systems x86? Yes, both are ~x86. If it is any help, here is the start and end of the stack trace from the core file generated. As far as I can see, all the intervening stack frames are the same - so as a first guess it looks to me as though it is in an infinite recursion. Core was generated by `/var/tmp/portage/x11-libs/qt-assistant-4.8.0/work/qt-everywhere-opensource-src-'. Program terminated with signal 7, Bus error. #0 0xb76fe85b in compareNodes (n1=0xba97b768, n2=0xabf29924) at tree.cpp:1554 1554 { (gdb) bt #0 0xb76fe85b in compareNodes (n1=0xba97b768, n2=0xabf29924) at tree.cpp:1554 #1 0xb77133c9 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:351 #2 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #3 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #4 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #5 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #6 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #7 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #8 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #9 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #10 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #11 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #12 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #13 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #14 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #15 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #16 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #17 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #18 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #19 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #20 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #21 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #22 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #23 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #24 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #25 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, . . .#4807 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #4808 0xb7713520 in QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)> (start=..., end=..., t=@0xabf27ed4: 0xaf92cdd8, lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:385 #4809 0xb7711ab5 in qSort<QList<Node*>::iterator, bool (*)(Node const*, Node const*)> (lessThan=0xb76fe840 <compareNodes(Node const*, Node const*)>, end=..., start=...) at ../../include/QtCore/../../src/corelib/tools/qalgorithms.h:187 #4810 Tree::generateIndexSections (this=0xb961d828, writer=..., node=0xb961d828, generateInternalNodes=false) at tree.cpp:1623 #4811 0xb7711e5e in Tree::generateIndex (this=0xb961d828, fileName=..., url=..., title=..., generateInternalNodes=false) at tree.cpp:1675 #4812 0xb769cbc1 in HtmlGenerator::generateIndex (this=0xbf97ee80, fileBase=..., url=..., title=...) at htmlgenerator.cpp:3613 #4813 0xb76b9550 in HtmlGenerator::generateTree (this=0xbf97ee80, tree=0xbf97eccc) at htmlgenerator.cpp:264 #4814 0xb75ee419 in processQdocconfFile (fileName=...) at main.cpp:336 #4815 main (argc=-1410164444, argv=0xabf2bd1c) at main.cpp:445 Still reproducible with qt 4.8.1? (In reply to comment #7) > Still reproducible with qt 4.8.1? No it is not reproducable with qt 4.8.1. qt-assistant-4.8.1 builds and installs correctly. (In reply to comment #8) > (In reply to comment #7) > > Still reproducible with qt 4.8.1? > > No it is not reproducable with qt 4.8.1. qt-assistant-4.8.1 builds and > installs correctly. Thank you for feedback. Unfortunately, the problem has returned with qt-assistant-4.8.2 (In reply to comment #10) > Unfortunately, the problem has returned with qt-assistant-4.8.2 :( Could you bisect between 4.8.1 and 4.8.2 to identify the bad commit that introduced the regression? I think you can consider just the commits to QtCore and qdoc3. (In reply to comment #11) > > Could you bisect between 4.8.1 and 4.8.2 to identify the bad commit that > introduced the regression? I think you can consider just the commits to > QtCore and qdoc3. I would if I knew how! I know (and have done) to bisect kernel and other builds where the sequence is 'bisect, make' and repeat. However, I do not know how to use bisect together with emerge or ebuild. Uhm right, it's not straightforward. You can probably try with qt-assistant-4.8.9999 from the qt overlay, *with* USE=doc, using `emerge --nodeps` or the `ebuild` command directly. Remember to export qt_assistant_LIVE_COMMIT="v4.8.2" in your environment to checkout the v4.8.2 tag instead of the branch HEAD. You also have to set EGIT_NONBARE=1 to force git-2.eclass to clone the full repo to ${S} instead of simply copying the files there. You should limit the bisection to tools/qdoc3 directory and rerun `ebuild qt-assistant-4.8.9999 compile` each time. However, seeing that the backtrace involves QtCore stuff, before starting the bisection, it would probably be a good idea to find out whether the regression is in libQtCore or in qdoc3. To do that you can try to emerge (ignoring deps) qt-assistant-4.8.1 against qt-core-4.8.2: if that fails the bug is in qt-core, otherwise the bug is in qdoc3. I see an infinite loop on ppc (trying to stabilize bug 408711) (In reply to comment #15) > I see an infinite loop on ppc (trying to stabilize bug 408711) Which Qt version are you talking about? (In reply to comment #16) > (In reply to comment #15) > > I see an infinite loop on ppc (trying to stabilize bug 408711) > > Which Qt version are you talking about? Right, [ebuild N ] x11-libs/qt-assistant-4.7.4 USE="exceptions glib qt3support (-aqua) -compat -debug -doc -pch -trace" 0 kB Since this was reported as fixed in 4.8.1 (and then regressed in 4.8.2), would you mind stabilizing Qt 4.8.1 in bug 414241? (In reply to comment #14) > To do that you can try to emerge (ignoring deps) qt-assistant-4.8.1 against > qt-core-4.8.2: if that fails the bug is in qt-core, otherwise the bug is in > qdoc3. emerge --nodeps -1 =qt-assistant-4.8.1-r1 builds and installs successfully. I built against qt-core-4.8.2. qt-assistant-4.8.2 fails to build for me in the same way that is reported in this bug. (In reply to comment #19) > (In reply to comment #14) > > To do that you can try to emerge (ignoring deps) qt-assistant-4.8.1 against > > qt-core-4.8.2: if that fails the bug is in qt-core, otherwise the bug is in > > qdoc3. > > emerge --nodeps -1 =qt-assistant-4.8.1-r1 > > builds and installs successfully. I built against qt-core-4.8.2. > > qt-assistant-4.8.2 fails to build for me in the same way that is reported in > this bug. Thanks a lot. This means that the bug is in qt-core... (In reply to comment #18) > Since this was reported as fixed in 4.8.1 (and then regressed in 4.8.2), > would you mind stabilizing Qt 4.8.1 in bug 414241? aye aye, sir. (In reply to comment #20) > Thanks a lot. This means that the bug is in qt-core... Just be sure that I've not been misunderstood: qt-assistant-4.8.1-r1 + qt-core-4.8.2 = successful build. qt-assistant-4.8.2 + qt-core-4.8.2 = failed build. If the version of qt-core didn't change, is it the source of the problem? (A "yes" would be a quite sufficient reply. :) ) (In reply to comment #22) > (In reply to comment #20) > > Thanks a lot. This means that the bug is in qt-core... > > Just be sure that I've not been misunderstood: > > qt-assistant-4.8.1-r1 + qt-core-4.8.2 = successful build. > qt-assistant-4.8.2 + qt-core-4.8.2 = failed build. > > If the version of qt-core didn't change, is it the source of the problem? (A > "yes" would be a quite sufficient reply. :) ) Ah yes sorry... I totally misread your comment :P The bug must be in qt-assistant, not in qt-core. The build *still* *fails* as of qt-assistant-4.8.2-r1. Backtrace from core file generated by qdoc3: Core was generated by `/var/tmp/portage/x11-libs/qt-assistant-4.8.2-r1/work/qt-everywhere-opensource-s'. Program terminated with signal 7, Bus error. #0 0xb771db1c in compareNodes(Node const*, Node const*) () (gdb) bt #0 0xb771db1c in compareNodes(Node const*, Node const*) () #1 0xb7732526 in void QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)>(QList<Node*>::iterator, QList<Node*>::iterator, Node* const&, bool (*)(Node const*, Node const*)) () #2 0xb7732685 in void QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)>(QList<Node*>::iterator, QList<Node*>::iterator, Node* const&, bool (*)(Node const*, Node const*)) () <Very Many identical stack frames snipped> #3900 0xb7732685 in void QAlgorithmsPrivate::qSortHelper<QList<Node*>::iterator, Node*, bool (*)(Node const*, Node const*)>(QList<Node*>::iterator, QList<Node*>::iterator, Node* const&, bool (*)(Node const*, Node const*)) () #3901 0xb7730d09 in Tree::generateIndexSections(QXmlStreamWriter&, Node const*, bool) const () #3902 0xb7731095 in Tree::generateIndex(QString const&, QString const&, QString const&, bool) const () #3903 0xb76ba983 in HtmlGenerator::generateIndex(QString const&, QString const&, QString const&) () #3904 0xb76d96a2 in HtmlGenerator::generateTree(Tree const*) () #3905 0xb76f04a7 in main () (gdb) Hope this helps! Created attachment 317902 [details]
build.log
@qt: I'm unable to reproduce this bug with the same useflag. So we can proceed to stabilize too on x86
*** Bug 449004 has been marked as a duplicate of this bug. *** (In reply to comment #26) > *** Bug 449004 has been marked as a duplicate of this bug. *** Thanks for that investigation. I missed the Bus Error line .. I had seen this bug but did not realize it was relevant. Does anyone have any idea what is triggering this? I had a successful build of qthelp-4.8.4 on several ~x86 Systems that showed this bug with # ulimit -s unlimited ; emerge qthelp The build of this and earlier versions (qt-assistant-4.8.2-r1, qt-assistant-4.8.3) failed on all these systems with a stacksize of 8192 kbytes and the error described in this bug (/bin/sh: line 1: 7608 Bus error) This might, however, be seen as a crude circumvention and not a fix of the real cause. I can confirm that using this workaround # ulimit -s unlimited ; emerge qthelp is effective for me as well... Thanks Rainer Can anybody confirm this is still happening? There are much newer versions in the tree now and we haven't heard anything about this bug for a long time. |