Bug 68954 - FILEOPEN: layout loop when trying to open particular odt file
Summary: FILEOPEN: layout loop when trying to open particular odt file
Status: RESOLVED WORKSFORME
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.3.0 release
Hardware: Other All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: (target:4.3.0)
Keywords:
Depends on:
Blocks:
 
Reported: 2013-09-04 18:54 UTC by Hans-Gerhard Weinreich
Modified: 2014-05-19 11:30 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments
Opening this file will cause LibO to freeze (99.36 KB, application/vnd.oasis.opendocument.text)
2013-09-04 18:54 UTC, Hans-Gerhard Weinreich
Details
DOCX version of the document - doesn't trigger any freeze (74.84 KB, application/vnd.openxmlformats-officedocument.wordprocessingml.document)
2013-09-05 12:11 UTC, Hans-Gerhard Weinreich
Details
bt (9.08 KB, text/plain)
2014-03-24 20:53 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Hans-Gerhard Weinreich 2013-09-04 18:54:36 UTC
Created attachment 85208 [details]
Opening this file will cause LibO to freeze

LibO enters a permanent freeze when trying to open the attached Open Document text file.

Opening the same file in MS Office 2010 (32 bit) works without any further issues.

Tested with both the current LibO 4.1.1 and the 4.2 nightly libo-master~2013-08-16_00.24.23.

Tested on Windows 7 SP1, 64bit
Comment 1 Cor Nouws 2013-09-04 21:14:49 UTC
Hi Hans-Gerhard,

thanks - I can confirm this.
Already a problem in 3.3.0

Any special details about the file ?

Regards - Cor
Comment 2 Hans-Gerhard Weinreich 2013-09-04 21:42:25 UTC
Thanks for your fast reply. Regarding the details: I wasn't able to check with any earlier LibO version than the ones I have installed, so it comes as a surprise that even 3.3.0 is affected. I could verify that if you open it in MS Office and save it as e.g. a .docx file, LibO won't have problems with the resulting .docx file.

Furthermore it should be noted that the LibO Windows Explorer extension displays the .odt file's thumbnail correctly.
Comment 3 Cor Nouws 2013-09-05 07:25:44 UTC
(In reply to comment #2)
> Thanks for your fast reply. 

Sometimes that works ;)

> [...]
> in MS Office and save it as e.g. a .docx file, LibO won't have problems with
> the resulting .docx file.

Could you pls add that to the bug?

thanks for the details & your help,
Cor
Comment 4 retired 2013-09-05 11:02:18 UTC
Hi Hans,
file opens fine for me on OS X 10.8.4 and LO 4.2 latest master build from today.

It does indeed crash on LO 4.1.1.2.

Hans, could you check the master build and see if that works for you as well? http://dev-builds.libreoffice.org/daily/master/
Comment 5 Hans-Gerhard Weinreich 2013-09-05 11:52:58 UTC
Hi Foss,

I just downloaded, installed and checked:

The file crashes this morning's master 2013-09-05_05.47.55.

(Platform: Windows 7 SP1 - this time I'm checking this from a 32bit Windows machine, but it obviously makes no difference)
Comment 6 Hans-Gerhard Weinreich 2013-09-05 12:11:53 UTC
Created attachment 85245 [details]
DOCX version of the document - doesn't trigger any freeze
Comment 7 Hans-Gerhard Weinreich 2013-09-05 12:15:42 UTC
Some more details:

Google Docs can also open the ODT file without any further problems. I have now attached a DOCX version of the document which can be opened by LibO without causing it to freeze. Please note that this DOCX has been created after importing the original ODT file into Google Docs and then exporting it to DOCX.
Comment 8 Julien Nabet 2013-10-19 17:20:05 UTC
Comment on attachment 85208 [details]
Opening this file will cause LibO to freeze

Mimetype fixed
Comment 9 Julien Nabet 2013-10-19 17:28:43 UTC
On pc Debian x86-64 with master sources updated today, I reproduce the freeze.
A bt at random:
Program received signal SIGINT, Interrupt.
SwCache::Check (this=0x15426d0)
    at /home/julien/compile-libreoffice/libo/sw/source/core/bastyp/swcache.cxx:41
41	        while ( pTmp && pTmp != pObj )
(gdb) bt
#0  SwCache::Check (this=0x15426d0)
    at /home/julien/compile-libreoffice/libo/sw/source/core/bastyp/swcache.cxx:41
#1  0x00002aaac6900e63 in SwCache::ToTop (this=0x15426d0, pObj=0x1f72470)
    at /home/julien/compile-libreoffice/libo/sw/source/core/bastyp/swcache.cxx:206
#2  0x00002aaac6901005 in SwCache::Get (this=0x15426d0, pOwner=0x1c15c90, 
    nIndex=183, bToTop=1 '\001')
    at /home/julien/compile-libreoffice/libo/sw/source/core/bastyp/swcache.cxx:235
#3  0x00002aaac6ec582c in SwCacheAccess::SwCacheAccess (this=0x7fffffff36b0, 
    rC=..., pOwn=0x1c15c90, nIndex=183)
    at /home/julien/compile-libreoffice/libo/sw/source/core/inc/swcache.hxx:272
#4  0x00002aaac6ec537a in SwTxtLineAccess::SwTxtLineAccess (
    this=0x7fffffff36b0, pOwn=0x1c15c90)
    at /home/julien/compile-libreoffice/libo/sw/source/core/text/txtcache.cxx:81
#5  0x00002aaac6e5b93c in SwTxtFrm::Format (this=0x1c15c90)
    at /home/julien/compile-libreoffice/libo/sw/source/core/text/frmform.cxx:1757
#6  0x00002aaac6ceae22 in SwCntntFrm::MakeAll (this=0x1c15c90)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/calcmove.cxx:1383
---Type <return> to continue, or q <return> to quit---
#7  0x00002aaac6ce5b9f in SwFrm::PrepareMake (this=0x1c15c90)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/calcmove.cxx:362
#8  0x00002aaac69399a6 in SwFrm::Calc (this=0x1c15c90)
    at /home/julien/compile-libreoffice/libo/sw/source/core/inc/frame.hxx:1027
#9  0x00002aaac6db1656 in SwCntntFrm::CalcLowers (pLay=0x1f722d0, 
    pDontLeave=0x1f4bfb0, nBottom=9223372036854775807, bSkipRowSpanCells=true)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/tabfrm.cxx:1523
#10 0x00002aaac6db1c69 in lcl_RecalcRow (rRow=..., nBottom=9223372036854775807)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/tabfrm.cxx:1649
#11 0x00002aaac6db1e05 in lcl_RecalcTable (rTab=..., pFirstRow=0x1f722d0, 
    rNotify=...)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/tabfrm.cxx:1709
#12 0x00002aaac6db37d4 in SwTabFrm::MakeAll (this=0x1f4bfb0)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/tabfrm.cxx:2096
#13 0x00002aaac6ce5b9f in SwFrm::PrepareMake (this=0x1f4bfb0)
    at /home/julien/compile-libreoffice/libo/sw/source/core/layout/calcmove.cxx:362

Michael: one for you?
Comment 10 Hans-Gerhard Weinreich 2014-01-25 17:46:56 UTC
Still freezes/crashes LibO 4.2.0 RC3.
Comment 11 Hans-Gerhard Weinreich 2014-03-24 10:32:44 UTC
Verified again for 4.2.2 release and latest master (24/03/2014).
Comment 12 Julien Nabet 2014-03-24 20:46:10 UTC
On pc Debian x86-64 with master sources updated yesterday (23b65a84fd827555dfb84c7e2f78879c479c2f78), I don't reproduce the freeze but had a crash (will attach a bt).
With 4.2 sources updated 2 days ago (e7baa6fe82c9d4f8bc6841f82f04088e664dda08), I reproduced the freeze.
Comment 13 Julien Nabet 2014-03-24 20:53:40 UTC
Created attachment 96318 [details]
bt

After a while, when scrolling with mouse and cursor, I had a crash.

I attached a bt.
Comment 14 Julien Nabet 2014-03-24 21:13:23 UTC
With master sources, I might encountered fdo#73466 (put in See Also) which has been fixed.
I'll retest this after having updated and built my LO master sources.
Comment 15 Hans-Gerhard Weinreich 2014-03-25 09:06:11 UTC
The original freeze issue indeed seems to be fixed in master now:

Cannot reproduce it anymore with build:
 aeab0183e86fe011d32058864c02b2de4da32dc9
TinderBox: Win-x86@39, Branch:master, Time: 2014-03-24_05:49:26

This is actually the first time that I see this document opened within LO. This was impossible before with any version.

Julien: I was able to reproduce the scrolling-induced error by hectically scrolling up and down with the mouse wheel and cursor keys.

I'm on Windows 7 and am getting the following popup error:


---
Assertion failed!

Program (...)\LibreOfficeDev 4\program\swlo.dll
File: C:\cygwin\home\tinderbox\master\include\rtl\ustring.hxx
Line 421

Expression: index >= 0 && static_cast<sal_uInt32>(index) < static_cast<sal_uInt32>(getLength())
---


and if I click on Ignore:


---
Assertion failed!

Program (...)\LibreOfficeDev 4\URE\bin\sal3.dll
File: C:\cygwin\home\tinderbox\master\sal\rtl\strtmpl.cxx
Line: 1231

Expression: false
---


If I click "Ignore" often enough LO doesn't even crash and I can proceed (until the error comes up again). Choosing "Abort" (obviously) or "Retry" crashes LO.
Comment 16 Julien Nabet 2014-03-25 19:49:05 UTC
I don't reproduce the crash after having updated my master sources (325ecb1d0511c6c02d863eb760c2d0521f0b6c19)

For 4.2 branch, a good test would be to use daily build from here:
http://dev-builds.libreoffice.org/daily/libreoffice-4-2/
Hans-Gehrard: would you have some time for it?

Just for information, here's a link about release plan (which can change):
https://wiki.documentfoundation.org/ReleasePlan
Comment 17 Jorendc 2014-05-17 20:46:30 UTC
(In reply to comment #16)
> I don't reproduce the crash after having updated my master sources
> (325ecb1d0511c6c02d863eb760c2d0521f0b6c19)

I can confirm no crash is reproducible in LibreOffice Version: 4.3.0.0.alpha1+
Build ID: 48eccfb812284f43ba24c3be3903537ce954944d
TinderBox: Win-x86@39, Branch:master, Time: 2014-05-16_00:35:19
 
> For 4.2 branch, a good test would be to use daily build from here:
> http://dev-builds.libreoffice.org/daily/libreoffice-4-2/
> Hans-Gehrard: would you have some time for it?

I still can reproduce a crash in 4.2.4.

Lets mark this bug as RESOLVED WORKSFORME as of the fact we do have to little manpower to hunt down the fix, to get it backported in 4.2 branch as well. Time will fix it ;-).

Kind regards,
Joren
Comment 18 Michael Stahl (allotropia) 2014-05-19 11:30:29 UTC
was apparently "fixed" by random chance by:

commit e2eda70f2746f08376d8cdf5e5360df217335aef
Author:     Jan Holesovsky <kendy@collabora.com>
AuthorDate: Tue Feb 4 00:33:14 2014 +0100

    startcenter: fdo#72469: Thumbnails also for other file types than ODF.