http://bugzilla.suse.com/show_bug.cgi?id=1092425 http://bugzilla.suse.com/show_bug.cgi?id=1092425#c7 Fabian Vogt <fvogt@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |msrb@suse.com Flags| |needinfo?(msrb@suse.com) --- Comment #7 from Fabian Vogt <fvogt@suse.com> --- (In reply to Michal Srb from comment #4)
Created attachment 771790 [details] Patch for Qt that prevents the issue.
I have found that the issue is caused by `qfloat::operator float()` in qtbase/src/corelib/global/qfloat16.h.
For some reason the declaration is omitted when building the documentation using `#ifndef Q_QDOC`, but its definition is there unconditionally. Omitting the definition prevents the qdoc failure. See the attached patch.
I don't know yet why it behaves differently on x86 and x86_64, perhaps it has something to do with the body of the method, which is different depending on the architecture.
Also, even with broken code, it should not crash with assertion failure. So there must be something broken in either libclang or qdoc, but I did not yet find what. Perhaps we could use this patch for the time being.
This seems to happen in a different place for Qt 5.12 alpha again, can you have a look? Maybe it helps debugging what causes the issue: https://build.opensuse.org/package/live_build_log/KDE:Qt:5.12/libqt5-qtdoc/o... [ 578s] cd icns/ && ( test -e Makefile || /home/abuild/rpmbuild/BUILD/qt-everywhere-src-5.12.0-alpha/qtbase/bin/qmake -o Makefile /home/abuild/rpmbuild/BUILD/qt-everywhere-src-5.12.0-alpha/qtimageformats/src/plugins/imageformats/icns/icns.pro ) && /usr/bin/make -f Makefile prepare_docs [ 579s] qdoc: ../tools/clang/lib/Serialization/ASTWriter.cpp:4046: void clang::ASTWriter::GenerateNameLookupTable(const clang::DeclContext *, llvm::SmallVectorImpl<char> &): Assertion `ConversionNameSet.empty() && "Failed to find all of the visible " "conversion functions by walking all " "the lexical members of the context."' failed. [ 579s] libclang: crash detected during AST saving: { [ 579s] 'filename' : '/tmp/qdoc_pch.EjWLDp/ActiveQtDoc.pch' [ 579s] 'options' : 0, [ 579s] } [ 579s] qdoc: ../include/llvm/Bitcode/BitstreamWriter.h:90: llvm::BitstreamWriter::~BitstreamWriter(): Assertion `BlockScope.empty() && CurAbbrevs.empty() && "Block imbalance"' failed. -- You are receiving this mail because: You are on the CC list for the bug.