| Summary: | Calc Freezes (Not Responding) When Referencing to Another Sheet with Column/Row Freeze Enabled with input method Fcitx (Repro steps in Comment 12) | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Kevin Suo <suokunlong> |
| Component: | Calc | Assignee: | Not Assigned <libreoffice-bugs> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | normal | CC: | aron.budea, francois.trahan, jluth, tabe |
| Priority: | medium | Keywords: | haveBacktrace |
| Version: | Inherited From OOo | ||
| Hardware: | x86-64 (AMD64) | ||
| OS: | Linux (All) | ||
| See Also: |
https://bugs.documentfoundation.org/show_bug.cgi?id=106133 https://bugs.documentfoundation.org/show_bug.cgi?id=121855 |
||
| Whiteboard: | |||
| Crash report or crash signature: | Regression By: | ||
| Attachments: |
gdb backtrace
autogen.input used for the build gdb backtrace related to last step of comment 4 gdb backtrace with fcitx-dbg |
||
|
Description
Kevin Suo
2017-03-02 09:02:26 UTC
Created attachment 131573 [details]
autogen.input used for the build
Builds from branch libreofice-5-3 are also affected by this issue. Unfortunately I cannot duplicate this. (Ubuntu 16.04/12.04 x64 with March1 master, or with 54-daily-debug bibisect.) I did the following per advice from Justin: 1. I added the debug line, in vcl/unx/gtk/gtksalframe.cxx, below line 3676: SAL_WARN_IF(xState.is(),"DEBUG","::FindFocus focused["<<(int)xState->contains(accessibility::AccessibleStateType::FOCUSED)<<"] Text.is["<<(uno::Reference<accessibility::XAccessibleEditableText>(xContext, uno::UNO_QUERY)).is()<<"] manages Descendants["<<(int)xState->contains(accessibility::AccessibleStateType::MANAGES_DESCENDANTS)<<"]"); --> I get millions of endless warnings in terminal when I hit ENTER after clicking the referenced cell in Sheet1. warn:DEBUG:27520:1:vcl/unx/gtk/gtksalframe.cxx:3771: ::FindFocus focused[0] Text.is[0] manages Descendants[0] apparently it comes into an endless loop. 2. Revert 1c3a784d38fc5986c78bab8d283c4661347baf43. --> no freeze anymore. No warning. 3. Revert 1c81af2c1814e8bd12701f85e09cebf5fe206647 (based on step2) --> I get millions of same endless warnings in terminal, but it was at the time when I type in "=" in the cell in Sheet2. (i.e., one step earlier than step1 above.) 4. Revert 598e6a024163f1510d076000788b7745625f5ed5 (based on step3) --> I get millions of endless warnings in terminal when I hit ENTER after clicking the referenced cell in Sheet1. (i.e., same as step1) Please advice me what to do next. Thanks. I should mention that I am using gtk2, not gtk3 (--disable-gtk3 in autogen.input) Created attachment 131641 [details] gdb backtrace related to last step of comment 4 Further tests shows that it has something to to with input method fcitx. No freeze when I do: $ sudo apt-get remove fcitx* (and then reboot) Freeze come back again when I do: $ sudo apt-get install fcitx (and then reboot) this command automatically installed the following: fcitx-config-common:amd64 (0.4.8-3, automatic), fcitx-module-kimpanel:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-frontend-qt4:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-frontend-qt5:amd64 (1.0.5-1, automatic), fcitx-bin:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-data:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx:amd64 (1:4.2.9.1-1ubuntu1.16.04.2), fcitx-ui-classic:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-config-gtk:amd64 (0.4.8-3, automatic), fcitx-frontend-gtk2:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-frontend-gtk3:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-module-lua:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-modules:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-frontend-all:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-module-x11:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic), fcitx-module-dbus:amd64 (1:4.2.9.1-1ubuntu1.16.04.2, automatic) Created attachment 131666 [details]
gdb backtrace with fcitx-dbg
(In reply to Kevin Suo from comment #4) I added break point per advice from Justin and then followed the steps to reproduce. Below is the output for the moment of freeze: (gdb) break gtksalframe.cxx:3770 Breakpoint 1 at 0x2aaac1743460: file /media/suokunlong/HD-Kevin/lo/source/branch-kevin-fix/vcl/unx/gtk/gtksalframe.cxx, line 3770. (gdb) c Continuing. warn:DEBUG:31180:1:vcl/unx/gtk/gtksalframe.cxx:3769: ::FindFocus focused[0] Text.is[0] manages Descendants[0] Thread 1 "soffice.bin" hit Breakpoint 1, FindFocus (xContext=...) at /media/suokunlong/HD-Kevin/lo/source/branch-kevin-fix/vcl/unx/gtk/gtksalframe.cxx:3771 3771 if (xState.is()) (gdb) c Continuing. warn:DEBUG:31180:1:vcl/unx/gtk/gtksalframe.cxx:3769: ::FindFocus focused[0] Text.is[0] manages Descendants[1] Thread 1 "soffice.bin" hit Breakpoint 1, FindFocus (xContext=...) at /media/suokunlong/HD-Kevin/lo/source/branch-kevin-fix/vcl/unx/gtk/gtksalframe.cxx:3771 3771 if (xState.is()) (gdb) c Continuing. warn:DEBUG:31180:1:vcl/unx/gtk/gtksalframe.cxx:3769: ::FindFocus focused[0] Text.is[0] manages Descendants[0] . <all other continuing resulted the same as the above line> It's becoming interesting: * It's broken in all versions in and before 5.2.0.4, including the oldest openoffice.org version. * Start from 5.2.1.1, the bug behaviour does not reproduce anymore. * The bug appear again in current master, and now also appear in release 5.2.6.2, after commit 1c3a784d38fc5986c78bab8d283c4661347baf43. A review of the range: 066b007f5ebcc236395c7d282ba488bca6720265..2d75cf29e6d05e44c404f0547047f1da6563d380 suggests that the following commit which was between 5.2.0.4 and 5.2.1.1: commit 3af2382e6155abbb3e9e6102878bad1fa3f79373 Resolves: tdf#100903 Calc hangs when preediting Japanese with GTK plugin (cherry picked from commit 1c81af2c1814e8bd12701f85e09cebf5fe206647) author Takeshi Abe <tabe@fixedpoint.jp> 2016-07-18 21:08:36 (GMT) committer Caolán McNamara <caolanm@redhat.com> 2016-07-20 10:11:16 (GMT) did the unintended thing which caused the bug do disappear. However, that commit seems to be a bad one, as shown in the commit message in 1c3a784d38fc5986c78bab8d283c4661347baf43 made by Justin. So I guess this bug should be marked as come form OpenOffice.org. Also adding Takeshi Abe in cc list. Removing "regression" from keyword list. To reproduce: 1. Use ubuntu 16.04 lts. This bug does not reproduce in ubuntu 16.10. If you do not have 16.04 lts installed, then you may boot into ubuntu 16.04 LTS from an ISO in grub. any other boot method may also work. 2. In system settings - Language Support - keyboard input method, choose fcitx. Logout and re-login (If using the iso, the username is ubuntu and password is BLANK). 3. Install libreoffice 5.2.6.2 release build (using dpkg -i method), or the most recent daily build. 4. Try to reproduce the bug: 1) Freeze column and rows in cell B2; 2) Type in = in cell A1 of sheet2, click sheet1, click B2. hit ENTER. It reproduces in the default en ui. Hi. I don't even need cross sheet references to make it crash. If I create the following spreadsheet: Hello;Bonjour Ni Hao;Guten Tag Then freeze the first row, any attempt to reference the top row from other rows (or other rows from the top row) freezes Calc. To be more precise, it freezes at selection time, not commit time. Here is the sequence: 1- Create the four cells suggested here (or anything else) 2- Freeze first row 3- go to an empty cell below top row 4- hit F2 5- Type "=" to start a formula 6- use the arrows to get to the top row 7- The freeze happens the moment the selection "touches" the top row, i.e. Notes: If I type the address of the cell instead (ex: "=B1"), then it works fine. Locking after entering the formula works fine. OS: Ubuntu 14.04.5 Libreoffice: Version: 5.4.0.3 Build ID: 1:5.4.0~rc3-0ubuntu0.14.04.1~lo2 CPU threads: 12; OS: Linux 4.4; UI render: default; VCL: gtk2; Locale: en-CA (en_CA.UTF-8); Calc: group This is a big problem for me, so I am more than willing to help fix it ! Here's my email: francois.trahan@gmail.com Oh, by the way, I am also using fcitx (4.2.8.3-3) This is already confirmed in comment 13. Set to NEW. Still reproducible in Version: 6.0.6.2 Build ID:0c292870b25a325b5ed35f6b45599d2ea4458e77 CPU 线程:4; 操作系统:Linux 4.15; UI 渲染:默认; VCL: gtk2; 区域语言:zh-CN (zh_CN.UTF-8); Calc: group *** This bug has been marked as a duplicate of bug 121855 *** |