After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 727438 - Cannot Remove Split Pane When Split Pane is Displaying Row Other Than Top Row
Cannot Remove Split Pane When Split Pane is Displaying Row Other Than Top Row
Status: RESOLVED FIXED
Product: Gnumeric
Classification: Applications
Component: GUI
1.12.x
Other Linux
: Normal minor
: ---
Assigned To: Jody Goldberg
Jody Goldberg
Depends on:
Blocks:
 
 
Reported: 2014-04-01 14:25 UTC by Joe Bylund
Modified: 2014-05-28 17:44 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Joe Bylund 2014-04-01 14:25:38 UTC
When you create a split pane partway down a workbook, you can't later drag back up on the sidebar to remove the frozen pane.  When I try to I get the following errors in the terminal:

** (gnumeric:11526): CRITICAL **: sv_freeze_panes: assertion 'unfrozen->row >= frozen->row' failed

** (gnumeric:11526): CRITICAL **: sv_freeze_panes: assertion 'unfrozen->row >= frozen->row' failed

** (gnumeric:11526): CRITICAL **: sv_freeze_panes: assertion 'unfrozen->row >= frozen->row' failed

** (gnumeric:11526): CRITICAL **: sv_freeze_panes: assertion 'unfrozen->row >= frozen->row' failed

(process:16226): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed

Version is 1.12.13.
Comment 1 Andreas J. Guelzow 2014-04-01 14:29:22 UTC
I do not see this in current gnumeric git.
Comment 2 Morten Welinder 2014-04-01 16:04:14 UTC
We have no relevant changes between 1.12.13 and current git.
Comment 3 Andreas J. Guelzow 2014-04-01 16:08:41 UTC
@Joe, which version of gtk are you using?
Comment 4 Joe Bylund 2014-04-01 16:26:14 UTC
libgtk-3-0 is at 3.8.6-0ubuntu3.1 (from synaptic).
Comment 5 Morten Welinder 2014-04-01 20:03:18 UTC
Can you get a stack trace for this, please?  (Run under gdb, set breakpoint
at g_log, then run.)
Comment 6 Joe Bylund 2014-04-02 16:04:05 UTC
Sorry, I tried

> gdb gnumeric
(gdb) set breakpoint g_log
Undefined set breakpoint command: "g_log".  Try "help set breakpoint".

my gdb-fu is not the strongest.  Can you either tell me a little more specifically what you want me to do or point me to a "debugging gnumeric/gnome apps" page.  Thanks.
Comment 7 Morten Welinder 2014-04-02 17:46:15 UTC
gdb /path/to/gnumeric
start
b g_log
c
# make the problem happen
where




There's chance that the problem happens when the mouse is "grabbed" by
gnumeric.  In that case, you'll have a system that appears frozen.
If so, press alt-ctrl-f2, log in, and issue the command "pkill -9 gnumeric".
Comment 8 Andreas J. Guelzow 2014-04-21 03:50:59 UTC
I had to kill gnumeric since the mouse was grabbed by gnumeric. So I only got:

(gdb) bt
  • #0 g_log
    at /build/buildd/glib2.0-2.38.1/./glib/gmessages.c line 1021
  • #1 resize_pane_finish
    at sheet-control-gui.c line 1397


I couldn't replicate it previously since I missed the fact that the top row could not be visible.
Comment 9 Morten Welinder 2014-05-27 01:34:09 UTC
The key here is to tell gdb to not require keyboard input.  Something
like this:

-------------------------------------------------------------
start

b g_log

commands 2
where
cont
end

set height 9999

cont
-------------------------------------------------------------





Breakpoint 2, 0x00007ffff659fcf0 in g_log ()
   from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #0 g_log
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #1 sv_freeze_panes
    at sheet-view.c line 792
  • #2 resize_pane_finish
    at sheet-control-gui.c line 1397
  • #3 cb_resize_vpane_finish
    at sheet-control-gui.c line 1413
  • #4 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #5 g_main_context_dispatch
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #6 ??
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #7 g_main_loop_run
    from /lib/x86_64-linux-gnu/libglib-2.0.so.0
  • #8 gtk_main
    from /usr/lib/x86_64-linux-gnu/libgtk-3.so.0
  • #9 main
    at main-application.c line 392

Comment 10 Morten Welinder 2014-05-27 22:43:27 UTC
This is crazy.  Yesterday I could reproduce; today I cannot.  If anyone
can reproduce, please post instructions in minute details.
Comment 11 Andreas J. Guelzow 2014-05-28 06:27:03 UTC
new gnumeric
scroll so that row 500 is in the middle of the window; row 1 should not be visible.
select A500
view->freeze panes
now try to drag the pane separator line above teh vertical scrollbar on the right side of the window to the very top.

In the terminal we see many:
** (gnumeric:17508): CRITICAL **: sv_freeze_panes: assertion 'unfrozen->row >= frozen->row' failed

Note that during the dragging the panes may change size but we cannot drag the separator high enough to remove the frozen panes.

Note that you can still unfreeze the panes via the menu.
Comment 12 Morten Welinder 2014-05-28 11:07:47 UTC
Sometimes.  There is certainly something timing-dependent going on here.
It has something to do with how fast the handle is moved.
Comment 13 Morten Welinder 2014-05-28 17:44:20 UTC
This problem has been fixed in our software repository. The fix will go into the next software release. Thank you for your bug report.