Bug 69603 - writer hangs going to second page
Summary: writer hangs going to second page
Status: RESOLVED DUPLICATE of bug 68876
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
4.1.1.2 release
Hardware: x86-64 (AMD64) Linux (All)
: medium critical
Assignee: Michael Stahl (allotropia)
URL:
Whiteboard:
Keywords: bibisected, regression
Depends on:
Blocks:
 
Reported: 2013-09-20 13:19 UTC by Claudio Miranda
Modified: 2015-12-15 11:03 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
document that causes the issue. (96.25 KB, application/vnd.oasis.opendocument.text)
2013-09-20 13:19 UTC, Claudio Miranda
Details
typescript with backtrace from warning "missing next new upper" (78.86 KB, text/plain)
2013-09-20 15:13 UTC, Terrence Enger
Details
chopped-down test file (16.72 KB, application/vnd.oasis.opendocument.text)
2013-09-22 13:52 UTC, Terrence Enger
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Claudio Miranda 2013-09-20 13:19:22 UTC
Created attachment 86178 [details]
document that causes the issue.

writer hangs when user go to any page after the first, either by scrolling with mouse, or page-down key or ctrl+end.

see attached document that causes the issue.
Comment 1 Terrence Enger 2013-09-20 15:13:34 UTC
Created attachment 86187 [details]
typescript with backtrace from warning "missing next new upper"

I confirm that LibreOffice hangs when <PageDown> would move the caret
into page two of the attached file.  Indeed, it pegs the CPU so hard
that my entire desktop became unresponsive.  So, best to try this
running LibreOffice at low priority.


During the loop, LibreOffice filled the terminal buffer with the
message (newline added):

    warn:legacy.osl:3161:1:sw/source/core/layout/flowfrm.cxx:2526:
    <SwFlowFrm::MoveBwd(..)> - missing next new upper

The attached typescript around line 335 has a backtrace from the
warning.


My LibreOffice is master commit 9e969eb, fetched 2013-09-03,
configured with:

    --enable-option-checking=fatal
    --enable-dbgutil
    --enable-crashdump
    --without-system-postgresql
    --without-myspell-dicts
    --without-help
    --with-extra-buildid
    --without-doxygen
    --with-external-tar=/home/terry/lo_hacking/git/src
    --disable-werror

built on ubuntu-natty (11.04) 32-bit, running on ubuntu-quantal
(12.10) 64-bit.


HTH,
Terry.
Comment 2 Terrence Enger 2013-09-20 16:02:23 UTC
The bug is not evident in the bibisect versions 40 oldest and 40+
latest, so I am setting keyword regression.

If somebody with the necessary prerequisites (notably glibc version
2.17) will do a bibisect of more recent commits following the
instructions in
<http://nabble.documentfoundation.org/minutes-of-ESC-call-tp4074802p4074831.html>,
that would be helpful.

BTW, I thought I set status NEW which I attached typescript.  Why did that not "take", I wonder.
Comment 3 Terrence Enger 2013-09-22 13:52:04 UTC
Created attachment 86316 [details]
chopped-down test file

I created the attached file, chop30.odt, by deleting most of the
content and then adding empty paragraphs to bring part of the original
item 4.1, now renumbered item 1.1, to the bottom of the first page.


Here is how I created the loop:

( 1) Open the file.
 
( 2) Type <ctrl>-<End> <up> <up>.  Cursor is above item 1.1; program is
     *not* displaying "the" message in the terminal.

( 4) <Enter>.  Item 1.1 moves to page 2; program is not displaying "the"
     message in the terminal.

( 5) Give focus to emacs, where I am typing this comment, and return
     focus to LibreOffice.  Program displays "the" message in the
     terminal about once per second or a bit faster.

( 6) Type <up> <down>.  Program is responsive, and it stops displaying
     the message for a while.

( 7) Type <down>.  Program loops, displaying the message several times
     per second.


For comparison, a small change to the document leaves the program
responsive when the cursor goes onto the second page:

( 8) Open the file.

( 9) Delete the first (1-line) paragraph.

(10) Type <ctrl>-<End> <up> <up>.  Cursor is above item 1.1, which is
     close to the bottom of the page.

(11) Type <Enter> <Enter> <Enter>.  Item 1.1 moves to page 2; no
     warnings in terminal.

(12) Type <up> <down>.  Program is responsive; no warnings in terminal.

(13) Type <down>.  Cursor moves to page 2; the program is responsive;
     no warnings in terminal.


Along the way to this report, I found that another way to avoid the
loop is to shorten item 4.1 (as originally numbered) so that it
occupies only one line.


HTH,
Terry.
Comment 4 Terrence Enger 2013-10-08 23:34:55 UTC
`git bisect` shows:

    be3cecfb6133866d0e751be0d1b8445e83765b2d is the first bad commit
    ...
        source-hash-84286f674bffaa2b9de44341a2f2700aa4352d86
        ...

and `git bisect log` shows:

    # bad: [d31848bf3b700a22d127d7c775a0f910a7e133d0] source-hash-86cbe18a6143bf054c31f69dc97368dfdd3ad374
    # good: [3e7462bd65e692bf0592d5b080b7716341b62a47] source-hash-1eddfce9894fd05315173744f495619189093dc7
    git bisect start 'latest' 'oldest'
    # good: [578fb08152ad11454e2f09ad6f8c8e527da817de] source-hash-4e3e171262aed0e52fa76158950d5be770249e80
    git bisect good 578fb08152ad11454e2f09ad6f8c8e527da817de
    # good: [efb04c1c794ef7fc4cda1eb80880d333ca969a5e] source-hash-7908692490120350f2ad45241f7b19ba52dc0489
    git bisect good efb04c1c794ef7fc4cda1eb80880d333ca969a5e
    # good: [f874d2067861230ec7065444fabc9be124c1f7ed] source-hash-ca538f48e866b4eb69b498786d9030639cfe2ebd
    git bisect good f874d2067861230ec7065444fabc9be124c1f7ed
    # bad: [ded4fe211b899ec99b94e0a7f0ac2c2fbf2d3832] source-hash-907445612298aae4f3322a7d9cdc6871d54ba47a
    git bisect bad ded4fe211b899ec99b94e0a7f0ac2c2fbf2d3832
    # bad: [0d1acabdbdec720e324fd76b3aea1bb382b905b9] source-hash-0d57434180db6c8eda8c5b9b704f8a1c18b371df
    git bisect bad 0d1acabdbdec720e324fd76b3aea1bb382b905b9
    # bad: [bacc00119c07ecc7fc9d5b0d139dbb17821cfe6d] source-hash-e8c0708ee9d0c01cbe0bdcb38ac14e34bdceef32
    git bisect bad bacc00119c07ecc7fc9d5b0d139dbb17821cfe6d
    # good: [3307d975939870adb46425f274b73d899ab2fbd6] source-hash-90a2c73f903b8d07b52dc7774fd7296b2bf0c125
    git bisect good 3307d975939870adb46425f274b73d899ab2fbd6
    # bad: [ae0750fdcfd9a0fbfec2a1b581d70dd7d052e8f6] source-hash-cb3ba53e3f995d4034bc5a9113015d81a1db30a4
    git bisect bad ae0750fdcfd9a0fbfec2a1b581d70dd7d052e8f6
    # bad: [be3cecfb6133866d0e751be0d1b8445e83765b2d] source-hash-84286f674bffaa2b9de44341a2f2700aa4352d86
    git bisect bad be3cecfb6133866d0e751be0d1b8445e83765b2d
Comment 5 Michael Stahl (allotropia) 2014-02-03 16:52:09 UTC
regression from:

commit 4df438c9a9d5e698c47c1e85903eb81880a5e6fa
Author:     Michael Stahl <mstahl@redhat.com>
AuthorDate: Tue Aug 20 11:41:37 2013 +0200

    fdo#66145: do not check IsFirstShared() in SwPageDesc::GetLeftFmt()
    
    ... and GetRightFmt().  If the first format is requested it must be
    returned; the sharing works by copying the SwFmtHeader/Footer from
    aMaster to the other members.
Comment 6 Michael Stahl (allotropia) 2014-02-03 16:56:27 UTC
oh it was fixed by ecf617ee0cb74526e3989500c122835c32082845 too

*** This bug has been marked as a duplicate of bug 68876 ***
Comment 7 Robinson Tryon (qubit) 2015-12-15 11:03:34 UTC
Migrating Whiteboard tags to Keywords: (bibisected)
[NinjaEdit]