Bug 33835 - EDITING: TABLES: Writer hangs when copying parts of a table
Summary: EDITING: TABLES: Writer hangs when copying parts of a table
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
Version:
(earliest affected)
3.3.0 RC4
Hardware: x86-64 (AMD64) Linux (All)
: medium major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-02-02 05:01 UTC by David Vogt
Modified: 2011-02-26 13:15 UTC (History)
0 users

See Also:
Crash report or crash signature:


Attachments
File to reproduce the bug (31.15 KB, application/vnd.oasis.opendocument.text)
2011-02-02 05:47 UTC, David Vogt
Details
strace log (735.89 KB, application/x-gzip)
2011-02-07 00:41 UTC, David Vogt
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David Vogt 2011-02-02 05:01:28 UTC
Hi,

First I must apologize, as I can't - for business reasons - attach the file that causes the problem. However, I'm going to try to describe the problem as good as I can.

I have a rather long document (30 pages) containing a lot of tables. During editing, I needed to copy part of a table. After selecting the text (whole columns) and hitting Ctrl-C, the application hangs and CPU goes up to 100%.

The table had the following settings:

Table:
Alignment: (o) Automatic
Spacing: Left, Right, Above, Below all 0.00cm
Text direction: Use superordinate object settings

Text Flow:
[ ] Break
[ ] With Page Style
[x] Allow table to split across pages and columns
    [ ] Allow row to break across pages and columns
[ ] Keep with next paragraph
[x] Repeat heading
    The first [1] rows
Text direction: Use superordinate object settings
Vertical alignment: Top

Borders:
Same borders around every cell

Background:
As [Color] For [Cell]
Background color [No Fill]

The exact version is as follows (as per "About" dialog):
LibreOffice 3.3.0 
OOO330m19 (Build:6)
3.3.0.4 ArchLinux build-1


Backtrace: It doesn't look too helpful (debugging symbols missing) but I'll paste it nonetheless - maybe you guys can get something out of this. Obtained using GDB on the hanging process.

#0  0x00007f569dc8be94 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x00007f569dc8735f in _L_lock_554 () from /lib/libpthread.so.0
#2  0x00007f569dc871bb in pthread_mutex_lock () from /lib/libpthread.so.0
#3  0x00007f569ee2e430 in osl_acquireMutex () from /usr/lib/libreoffice/program/../basis-link/ure-link/lib/libuno_sal.so.3
#4  0x00007f5694062c69 in SalYieldMutex::acquire() () from /usr/lib/libreoffice/basis3.3/program/libvclplug_genlx.so
#5  0x00007f5695b8eb7c in ?? () from /usr/lib/libreoffice/basis3.3/program/libvclplug_gtklx.so
#6  0x00007f56952e5e32 in ?? () from /usr/lib/libgdk-x11-2.0.so.0
#7  0x00007f56942e1878 in g_main_context_check () from /usr/lib/libglib-2.0.so.0
#8  0x00007f56942e2152 in ?? () from /usr/lib/libglib-2.0.so.0
#9  0x00007f56942e266d in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#10 0x00007f5695b8bade in ?? () from /usr/lib/libreoffice/basis3.3/program/libvclplug_gtklx.so
#11 0x00007f569abb0181 in Application::Yield(bool) () from /usr/lib/libreoffice/program/../basis-link/program/libvcllx.so
#12 0x00007f569abb0237 in Application::Execute() () from /usr/lib/libreoffice/program/../basis-link/program/libvcllx.so
#13 0x00007f569ebc9882 in ?? () from /usr/lib/libreoffice/program/../basis-link/program/libsofficeapp.so
#14 0x00007f569abb6801 in ?? () from /usr/lib/libreoffice/program/../basis-link/program/libvcllx.so
#15 0x00007f569abb68a5 in SVMain() () from /usr/lib/libreoffice/program/../basis-link/program/libvcllx.so
#16 0x00007f569ebef09c in soffice_main () from /usr/lib/libreoffice/program/../basis-link/program/libsofficeapp.so
#17 0x0000000000400e7b in main ()
Comment 1 David Vogt 2011-02-02 05:47:48 UTC
Created attachment 42853 [details]
File to reproduce the bug

Okay, I guess I could narrow it down quite a bit. When trying to reproduce the problem, I removed parts of the document until only a little bit of a table was left - and the problem still existed.

So I looked inside the content.xml to look for something special - which I found. The problem occurred when I tried to copy a cell that contained a bookmark or something like that (I don't know exactly what it means):

Foo <text:bookmark-start text:name="__DdeLink__5138_930146924"/>This is from content.xml and caused the hangup when copying.<text:bookmark-end text:name="__DdeLink__5138_930146924"/> Baz

The bookmark is around a piece of text I pasted from further up in the document... But IMHO, this shouldn't be marked after pasting, right?

Anyway. I've attached the (very reduced) file that caused the problem - I hope you can reproduce the problem this way.


Dave
Comment 2 Muthu 2011-02-03 03:35:46 UTC
not able to reproduce the problem. 
Would it be possible for you to install the debug-symbols, please? And get a strace and backtrace?

Ref: http://wiki.documentfoundation.org/BugReport
Comment 3 David Vogt 2011-02-07 00:40:51 UTC
(In reply to comment #2)
> not able to reproduce the problem. 
> Would it be possible for you to install the debug-symbols, please? And get a
> strace and backtrace?
> 
> Ref: http://wiki.documentfoundation.org/BugReport

I tried doing a full build with debug symbols (arch doesn't provide a debug package afaik). Unfortunately, I didn't manage to complete it.. will try again soon.

However, as requested, I'm uploading an strace log. The program started around 09:29:45, Then I waited for about 10 seconds and copied the text fragment at around 09:30:05.


Hope this helps a bit - sorry I couldn't provide e good stack trace.
Comment 4 David Vogt 2011-02-07 00:41:21 UTC
Created attachment 43019 [details]
strace log
Comment 5 David Vogt 2011-02-26 13:15:50 UTC
Unfortunately, I was not able to complete a debug build on arch. However, I just tried to reproduce the problem using 3.3.1 - which seems to not have this problem anymore. The given use case works fine.

Therefore, as the original author of the bug report, I'm closing as "fixed" - even thought I don't know exactly what fixed it.