summaryrefslogtreecommitdiff
path: root/vcl/inc/textrender.hxx
AgeCommit message (Expand)Author
2018-08-22turn the cache around to work on LogicalFontInstanceCaolán McNamara
2018-08-21use LogicalFontInstance with SalGraphicsCaolán McNamara
2018-07-26vcl cairo text renderer: support non-AA textMiklos Vajna
2018-05-11Fold CommonSalLayout into GenericSalLayoutKhaled Hosny
2018-03-26replace SalColor with ColorNoel Grandin
2017-11-14use std::unique_ptr for SalLayoutNoel Grandin
2017-10-30Constify some VCL interface functionsJan-Marek Glogowski
2017-03-31tdf#82580 tools: rename Rectangle to tools::RectangleMiklos Vajna
2016-12-10Use GlyphItem in more placesKhaled Hosny
2016-11-29Strip down GetEmbedFontData to what is really usedKhaled Hosny
2016-11-29SalGraphics::GetFontEncodingVector() is a noop nowKhaled Hosny
2016-11-26ServerFontLayout is already goneKhaled Hosny
2016-10-30Rename ServerFont to FreetypeFontKhaled Hosny
2016-10-18GSoC: Modify DrawServerFontLayout and add DrawSalLayoutAkash Jain
2016-09-02boost::intrusive_ptr->tools::SvRefCaolán McNamara
2016-06-10tdf#96099 Remove various smart pointer typedefs in vclMark Page
2016-05-11remove unused return type from SalGraphics::SetFontNoel Grandin
2016-01-27vcl: remove extraneous included headers in textrender.hxxChris Sherlock
2016-01-18basebmp now only used from vcl/headless codeCaolán McNamara
2016-01-14vcl: change ImplFontMetricData to be reference counted via intrusive_ptrChris Sherlock
2016-01-12vcl: resplit FontAttributes from ImplFontMetricDataChris Sherlock
2016-01-10vcl: promote ImplFontAttributes to FontAttributesChris Sherlock
2016-01-04Remove unused forward declarationsTor Lillqvist
2016-01-03vcl: rename variables from metric names to font attribute namesChris Sherlock
2016-01-03vcl: merge ImplFontMetricData with ImplFontAttributesChris Sherlock
2015-12-24loplugin:unnecessaryvirtualNoel Grandin
2015-12-15Get rid of :: prefix for basegfx in include/vcl and vclTor Lillqvist
2015-06-11Cleanup crossplatform cairoMox Soini
2015-03-03render text with cairo under gtk3, not headless solutionCaolán McNamara
2015-01-27these are const inputs, we fill widths from pGlyphIds via pEncodingCaolán McNamara
2015-01-27rhbz#1177022: vcl: fix PDF embedding of Type 1 fontsMichael Stahl
2015-01-27add a length arg to GetEmbedFontDataCaolán McNamara
2015-01-10vcl: cleanup textrender.hxxChris Sherlock
2014-11-14Revert "vcl: Abstract the Windows text rendering into a TextRenderImpl descen...Jan Holesovsky
2014-11-13vcl: Abstract the Windows text rendering into a TextRenderImpl descendant.Jan Holesovsky
2014-11-10fix buildMarkus Mohrhard
2014-11-10extract cairo rendering and abstract platform bitsMarkus Mohrhard
::jrd_req::req_s) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:1023:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x15740c3) > #10 in EXE_send(Jrd::thread_db*, Jrd::jrd_req*, unsigned short, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:833:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1579392) > #11 in add_index_set(Jrd::thread_db*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/ini.cpp:2251:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1efb0c2) > #12 in INI_format(char const*, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/ini.cpp:1563:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1eef3bd) > #13 in Jrd::JProvider::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/jrd/jrd.cpp:2691:4 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1864267) > #14 in Firebird::IProviderBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::IPluginBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IReferenceCountedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IProvider> > > > > > >::cloopcreateDatabaseDispatcher(Firebird::IProvider*, Firebird::IStatus*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:9010:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x16eefb6) > #15 in Firebird::IAttachment* Firebird::IProvider::createDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:2034:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x49cc5d) > #16 in Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper*, bool, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5681:15 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x44d0ad) > #17 in Why::Dispatcher::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5606:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x44e4d4) > #18 in PREPARSE_execute(Firebird::CheckStatusWrapper*, Why::YAttachment**, unsigned short, char const*, bool*, unsigned short) at workdir/UnpackedTarball/firebird/src/yvalve/preparse.cpp:288:26 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x56e738) > #19 in Why::UtilInterface::executeCreateDatabase(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/yvalve/utl.cpp:587:8 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x5ee78f) > #20 in Firebird::IUtilBaseImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::IVersionedImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IUtil> > >::cloopexecuteCreateDatabaseDispatcher(Firebird::IUtil*, Firebird::IStatus*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:12375:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x60ed0b) > #21 in Firebird::IAttachment* Firebird::IUtil::executeCreateDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:3504:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x603d95) > #22 in create_db(char const*, char*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5314:38 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x5aee53) > #23 in frontend(char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:6152:10 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x59b585) > #24 in get_statement(char*, unsigned long, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:7019:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x596084) > #25 in do_isql() at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5481:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x57ba26) > #26 in ISQL_main(int, char**) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1693:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x575ecc) > #27 in main at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1599:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x575149) > #28 in __libc_start_main at /usr/src/debug/glibc-2.26-146-gd300041c53/csu/../csu/libc-start.c:308 (/lib64/libc.so.6 +0x20f29) > #29 in _start at <null> (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x423219) Change-Id: Iebff0484a792b711769f46c4823f806e9f9b2935 Reviewed-on: https://gerrit.libreoffice.org/52704 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2018-04-09external/firebird: Fix -fsanitize=functionStephan Bergmann ...while building external/firebird. I started to get this failure around the time I switched the machine from Fedora 27 to Fedora 28 beta, but not sure whether the issue is related to that, nor why it only started to happen now: > workdir/UnpackedTarball/firebird/src/common/unicode_util.cpp:1206:2: runtime error: call to function u_versionToString_60 through pointer to incorrect function type 'void (*)(unsigned char *, char *)' > workdir/UnpackedTarball/icu/source/common/putil.cpp:2280: note: u_versionToString_60 defined here > #0 in Jrd::UnicodeUtil::getCollVersion(Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/common/unicode_util.cpp:1206:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x22ff24d) > #1 in Firebird::IntlUtil::setupIcuAttributes(charset*, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/common/IntlUtil.cpp:629:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x2277bbd) > #2 in INTL_builtin_setup_attributes(char const*, char const*, char const*, unsigned int, unsigned char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/jrd/intl_builtin.cpp:1731:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x16b712c) > #3 in Jrd::IntlManager::setupCollationAttributes(Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator> const&, Firebird::StringBase<Firebird::StringComparator>&) at workdir/UnpackedTarball/firebird/src/jrd/IntlManager.cpp:689:16 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x16ecd8b) > #4 in setupSpecificCollationAttributes(Jrd::thread_db*, Jrd::jrd_tra*, unsigned short, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:7483:7 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1918f67) > #5 in create_collation(Jrd::thread_db*, short, Jrd::DeferredWork*, Jrd::jrd_tra*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:7542:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1936e2e) > #6 in DFW_perform_work(Jrd::thread_db*, Jrd::jrd_tra*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:4513:11 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x1912e49) > #7 in DFW_perform_system_work(Jrd::thread_db*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/dfw.cpp:4457:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x191259d) > #8 in INI_format(char const*, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/jrd/ini.cpp:1808:2 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x18df473) > #9 in Jrd::JProvider::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/jrd/jrd.cpp:2691:4 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x172d05f) > #10 in Firebird::IProviderBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::IPluginBaseImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IReferenceCountedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JProvider, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IProvider> > > > > > >::cloopcreateDatabaseDispatcher(Firebird::IProvider*, Firebird::IStatus*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:9010:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/plugins/libEngine12.so +0x10d511f) > #11 in Firebird::IAttachment* Firebird::IProvider::createDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:2034:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x3937f4) > #12 in Why::Dispatcher::attachOrCreateDatabase(Firebird::CheckStatusWrapper*, bool, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5681:15 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x35adb7) > #13 in Why::Dispatcher::createDatabase(Firebird::CheckStatusWrapper*, char const*, unsigned int, unsigned char const*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:5606:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x35baa4) > #14 in PREPARSE_execute(Firebird::CheckStatusWrapper*, Why::YAttachment**, unsigned short, char const*, bool*, unsigned short) at workdir/UnpackedTarball/firebird/src/yvalve/preparse.cpp:288:26 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x427888) > #15 in Why::UtilInterface::executeCreateDatabase(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/yvalve/utl.cpp:587:8 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x481209) > #16 in Firebird::IUtilBaseImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::IVersionedImpl<Why::UtilInterface, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IUtil> > >::cloopexecuteCreateDatabaseDispatcher(Firebird::IUtil*, Firebird::IStatus*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:12375:44 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/lib/libfbclient.so.2 +0x495a09) > #17 in Firebird::IAttachment* Firebird::IUtil::executeCreateDatabase<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, unsigned int, char const*, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:3504:23 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x4c41df) > #18 in create_db(char const*, char*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5314:38 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x48606b) > #19 in frontend(char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:6152:10 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x477e4e) > #20 in get_statement(char*, unsigned long, char const*) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:7019:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x4740e6) > #21 in do_isql() at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:5481:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x461d48) > #22 in ISQL_main(int, char**) at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1693:3 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x45d8cf) > #23 in main at workdir/UnpackedTarball/firebird/temp/Debug/isql/isql.cpp:1599:9 (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x45cf09) > #24 in __libc_start_main at <null> (/lib64/libc.so.6 +0x231ba) > #25 in _start at <null> (workdir/UnpackedTarball/firebird/gen/Debug/firebird/bin/isql +0x40bd89) Change-Id: I03ccded73840865f104ccf6d434f425f7c7e6907 Reviewed-on: https://gerrit.libreoffice.org/52620 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2018-04-08external/firebird: Avoid -fsanitize=nonnull-attributeStephan Bergmann ...during JunitTest_dbaccess_complex: > workdir/UnpackedTarball/firebird/src/jrd/../dsql/../jrd/extds/../../common/classes/fb_string.h:677:26: runtime error: null pointer passed as argument 2, which is declared to never be null > /usr/include/string.h:43:28: note: nonnull attribute specified here > #0 in Firebird::StringBase<Firebird::StringComparator>::assign(void const*, unsigned int) at workdir/UnpackedTarball/firebird/src/jrd/../dsql/../jrd/extds/../../common/classes/fb_string.h:677:4 (instdir/program/../program/libEngine12.so +0x10d8acb) > #1 in Jrd::ExecStatementNode::getString(Jrd::thread_db*, Jrd::jrd_req*, Jrd::ValueExprNode const*, Firebird::StringBase<Firebird::StringComparator>&, bool) const at workdir/UnpackedTarball/firebird/src/dsql/StmtNodes.cpp:3506:6 (instdir/program/../program/libEngine12.so +0x1a4cb95) > #2 in Jrd::ExecStatementNode::execute(Jrd::thread_db*, Jrd::jrd_req*, Jrd::StmtNode::ExeState*) const at workdir/UnpackedTarball/firebird/src/dsql/StmtNodes.cpp:3426:3 (instdir/program/../program/libEngine12.so +0x1a4b21f) > #3 in EXE_looper(Jrd::thread_db*, Jrd::jrd_req*, Jrd::StmtNode const*) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:1292:17 (instdir/program/../program/libEngine12.so +0x129fe0f) > #4 in looper_seh(Jrd::thread_db*, Jrd::jrd_req*, Jrd::StmtNode const*) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:1426:2 (instdir/program/../program/libEngine12.so +0x12a295c) > #5 in execute_looper(Jrd::thread_db*, Jrd::jrd_req*, Jrd::jrd_tra*, Jrd::StmtNode const*, Jrd::jrd_req::req_s) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:1023:2 (instdir/program/../program/libEngine12.so +0x1298007) > #6 in EXE_receive(Jrd::thread_db*, Jrd::jrd_req*, unsigned short, unsigned int, unsigned char*, bool) at workdir/UnpackedTarball/firebird/src/jrd/exe.cpp:631:3 (instdir/program/../program/libEngine12.so +0x1295ffa) > #7 in JRD_receive(Jrd::thread_db*, Jrd::jrd_req*, unsigned short, unsigned int, unsigned char*) at workdir/UnpackedTarball/firebird/src/jrd/jrd.cpp:7597:2 (instdir/program/../program/libEngine12.so +0x173b736) > #8 in Jrd::DsqlDmlRequest::execute(Jrd::thread_db*, Jrd::jrd_tra**, Firebird::IMessageMetadata*, unsigned char const*, Firebird::IMessageMetadata*, unsigned char*, bool) at workdir/UnpackedTarball/firebird/src/dsql/dsql.cpp:723:3 (instdir/program/../program/libEngine12.so +0x1b61a71) > #9 in DSQL_execute(Jrd::thread_db*, Jrd::jrd_tra**, Jrd::dsql_req*, Firebird::IMessageMetadata*, unsigned char const*, Firebird::IMessageMetadata*, unsigned char*) at workdir/UnpackedTarball/firebird/src/dsql/dsql.cpp:179:11 (instdir/program/../program/libEngine12.so +0x1b53abd) > #10 in Jrd::JStatement::execute(Firebird::CheckStatusWrapper*, Firebird::ITransaction*, Firebird::IMessageMetadata*, void*, Firebird::IMessageMetadata*, void*) at workdir/UnpackedTarball/firebird/src/jrd/jrd.cpp:4446:4 (instdir/program/../program/libEngine12.so +0x1743f17) > #11 in Firebird::IStatementBaseImpl<Jrd::JStatement, Firebird::CheckStatusWrapper, Firebird::IReferenceCountedImpl<Jrd::JStatement, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IVersionedImpl<Jrd::JStatement, Firebird::CheckStatusWrapper, Firebird::Inherit<Firebird::IStatement> > > > >::cloopexecuteDispatcher(Firebird::IStatement*, Firebird::IStatus*, Firebird::ITransaction*, Firebird::IMessageMetadata*, void*, Firebird::IMessageMetadata*, void*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:8120:44 (instdir/program/../program/libEngine12.so +0x177cb46) > #12 in Firebird::ITransaction* Firebird::IStatement::execute<Firebird::CheckStatusWrapper>(Firebird::CheckStatusWrapper*, Firebird::ITransaction*, Firebird::IMessageMetadata*, void*, Firebird::IMessageMetadata*, void*) at workdir/UnpackedTarball/firebird/src/include/firebird/IdlFbInterfaces.h:1636:24 (instdir/program/../program/libfbclient.so.2 +0x386562) > #13 in Why::YStatement::execute(Firebird::CheckStatusWrapper*, Firebird::ITransaction*, Firebird::IMessageMetadata*, void*, Firebird::IMessageMetadata*, void*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:4345:42 (instdir/program/../program/libfbclient.so.2 +0x34ecfa) > #14 in (anonymous namespace)::IscStatement::execute(Firebird::CheckStatusWrapper*, unsigned int*, Firebird::IMessageMetadata*, unsigned char*, Firebird::IMessageMetadata*, unsigned char*) at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:1372:39 (instdir/program/../program/libfbclient.so.2 +0x337d51) > #15 in isc_dsql_execute2 at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:2279:15 (instdir/program/../program/libfbclient.so.2 +0x337096) > #16 in isc_dsql_execute at workdir/UnpackedTarball/firebird/src/yvalve/why.cpp:2235:9 (instdir/program/../program/libfbclient.so.2 +0x336707) > #17 in connectivity::firebird::OStatement::executeQuery(rtl::OUString const&) at connectivity/source/drivers/firebird/Statement.cxx:115:12 (instdir/program/../program/libfirebird_sdbclo.so +0x23e8cc) > #18 in connectivity::firebird::OStatement::execute(rtl::OUString const&) at connectivity/source/drivers/firebird/Statement.cxx:148:45 (instdir/program/../program/libfirebird_sdbclo.so +0x23ff90) > #19 in OStatement::execute(rtl::OUString const&) at dbaccess/source/core/api/statement.cxx:489:35 (instdir/program/../program/libdbalo.so +0xf5811f) > #20 in gcc3::callVirtualMethod(void*, unsigned int, void*, _typelib_TypeDescriptionReference*, bool, unsigned long*, unsigned int, unsigned long*, double*) at bridges/source/cpp_uno/gcc3_linux_x86-64/callvirtualmethod.cxx:77:5 (instdir/program/libgcc3_uno.so +0xba96d) > #21 in cpp_call(bridges::cpp_uno::shared::UnoInterfaceProxy*, bridges::cpp_uno::shared::VtableSlot, _typelib_TypeDescriptionReference*, int, _typelib_MethodParameter*, void*, void**, _uno_Any**) at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:233:13 (instdir/program/libgcc3_uno.so +0xb6855) > #22 in unoInterfaceProxyDispatch at bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:420:13 (instdir/program/libgcc3_uno.so +0xb4663) > #23 in binaryurp::IncomingRequest::execute_throw(binaryurp::BinaryAny*, std::__debug::vector<binaryurp::BinaryAny, std::allocator<binaryurp::BinaryAny> >*) const at binaryurp/source/incomingrequest.cxx:236:13 (instdir/program/libbinaryurplo.so +0x209ede) > #24 in binaryurp::IncomingRequest::execute() const at binaryurp/source/incomingrequest.cxx:79:26 (instdir/program/libbinaryurplo.so +0x205f10) > #25 in request at binaryurp/source/reader.cxx:85:9 (instdir/program/libbinaryurplo.so +0x2966d3) > #26 in cppu_threadpool::JobQueue::enter(long, bool) at cppu/source/threadpool/jobqueue.cxx:107:17 (instdir/program/libuno_cppu.so.3 +0x17e863) > #27 in cppu_threadpool::ORequestThread::run() at cppu/source/threadpool/thread.cxx:165:31 (instdir/program/libuno_cppu.so.3 +0x1977bb) > #28 in threadFunc at include/osl/thread.hxx:185:15 (instdir/program/libuno_cppu.so.3 +0x1a0347) Change-Id: I2378378caca42270edfbb432096ce6ceca042a3f Reviewed-on: https://gerrit.libreoffice.org/52582 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com> 2017-12-28Full UBSan in external/firebirdStephan Bergmann ...after 6a312a4a3d642f0f9769df54c0ec25471c9916bd "Prepare external/firebird for sanitizers". Doing `make check screenshot` on Linux with Clang -fsanitize=undefined -fsanitize=local-bounds -fsanitize=nullability works now. Patches that might be unwanted in non-UBSan builds are added to sanitizer.patch while unproblematic ones are added to always-included ubsan.patch. CppunitTest_dbaccess_firebird_test, e.g., shows that comphelper::AsyncEventNotifierAutoJoin::onTerminated called base-class osl::Thread::onTerminated (which does nothing, anyway) of an already destroyed object, so just drop that. Change-Id: If50f442ee6dbe590db843c38681d1c1cade8fa6a Reviewed-on: https://gerrit.libreoffice.org/47122 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>