From owner-freebsd-office@freebsd.org Thu May 16 12:17:55 2019 Return-Path: Delivered-To: freebsd-office@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 27FBE159432D for ; Thu, 16 May 2019 12:17:55 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 9B83572F95 for ; Thu, 16 May 2019 12:17:54 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by mailman.ysv.freebsd.org (Postfix) id 58E4D159432C; Thu, 16 May 2019 12:17:54 +0000 (UTC) Delivered-To: office@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 36613159432B for ; Thu, 16 May 2019 12:17:54 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id D016B72F93; Thu, 16 May 2019 12:17:53 +0000 (UTC) (envelope-from jbeich@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1354) id 7DBFA19491; Thu, 16 May 2019 12:17:53 +0000 (UTC) From: Jan Beich To: Joan Picanyol i Puig Cc: office@freebsd.org, Greg Veldman , Li-Wen Hsu Subject: Re: reproducible crash after libreoffice update References: <20190514115233.GA9791@grummit.biaix.org> <20190514150206.GB11862@grummit.biaix.org> <20190514175041.GA14247@grummit.biaix.org> <20190515075117.GA23790@grummit.biaix.org> <20190516094425.GA43894@grummit.biaix.org> Date: Thu, 16 May 2019 14:17:49 +0200 In-Reply-To: <20190516094425.GA43894@grummit.biaix.org> (Joan Picanyol i. Puig's message of "Thu, 16 May 2019 11:44:25 +0200") Message-ID: MIME-Version: 1.0 Content-Type: text/plain X-Rspamd-Queue-Id: D016B72F93 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.91 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_SHORT(-0.91)[-0.915,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US]; NEURAL_HAM_MEDIUM(-1.00)[-0.997,0]; NEURAL_HAM_LONG(-1.00)[-1.000,0] X-BeenThere: freebsd-office@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Office applications on FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 16 May 2019 12:17:55 -0000 Joan Picanyol i Puig writes: > It does seem that somehow the collator's settings get lost, some more details: > > (gdb) up 1 > #1 0x0000000800b5a241 in icu::RuleBasedCollator::doCompare (this=0x8173c41c0, left=0x7fffffffce02 u"pre.conf\xffff", leftLength=8, right=0x7fffffffcdc2 u"parent.conf", > rightLength=11, errorCode=@0x7fffffffcd94: U_ZERO_ERROR) at rulebasedcollator.cpp:1003 > 1003 UBool numeric = settings->isNumeric(); > Does the following sample crash? If not rebuild libreoffice with debug symbol to get more context. Maybe libreoffice "delete" or "ucol_close" UCollator pointer but then ends up using it, anyway $ cat a.cc #include using namespace icu; int main() { UErrorCode status = U_ZERO_ERROR; Collator *coll = Collator::createInstance(Locale("ca", "ES"), status); coll->compare(u"pre.conf\xffff", u"parent.conf"); return 0; } $ c++ a.cc $(icu-config --cppflags --ldflags) $ ./a.out > (gdb) up 1 > #3 0x0000000800b31b39 in icu::Collator::compare (this=0x8173c41c0, source=..., target=...) at coll.cpp:495 > 495 return (EComparisonResult)compare(source, target, ec); > (gdb) print *this > $1 = { = { = {}, _vptr$UObject = 0x800ce7930 }, } >From the above example: (gdb) p *this $1 = { = { = { = {}, _vptr$UObject = 0x800658578 }, }, data = 0x800f21000, settings = 0x800f08000, tailoring = 0x800f01000, cacheEntry = 0x800f50400, validLocale = { = { = {}, _vptr$UObject = 0x8008d8a80 }, language = "ca\000\000\000\000\000\000\000\000\000", script = "\000\000\000\000\000", country = "\000\000\000", variantBegin = 2, fullName = 0x800f61058 "ca", fullNameBuffer = "ca", '\000' , baseName = 0x800f61058 "ca", fIsBogus = 0 '\000'}, explicitlySetAttributes = 0, actualLocaleIsSameAsValid = 0 '\000'} but if "delete coll" happens before coll->compare() (gdb) p *this $2 = { = { = {}, _vptr$UObject = 0x800658578 }, } Did you notice "settings" was lost?