| Summary: | CRASH when trying shortcuts in PRINTING dialog | ||
|---|---|---|---|
| Product: | LibreOffice | Reporter: | Rainer Bielefeld Retired <LibreOffice> |
| Component: | UI | Assignee: | Not Assigned <libreoffice-bugs> |
| Status: | RESOLVED FIXED | ||
| Severity: | normal | CC: | caolan.mcnamara, michael.meeks |
| Priority: | medium | ||
| Version: | 4.0.1.2 release | ||
| Hardware: | Other | ||
| OS: | All | ||
| Whiteboard: | target:4.1.0 target:4.0.3 | ||
| Crash report or crash signature: | Regression By: | ||
Hi Caolan, an odd hang in the new layout / widget stuff around keyboard navigation inside RadioButton groups (?)
I believe the up/down arrow thing having clicked that check-box is the magic act - which moves focus into their group:
(gdb) bt
#0 0xb698f317 in backInGroup (rGroup=<optimized out>, aRevStart=<optimized out>)
at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:566
#1 (anonymous namespace)::nextInGroup (pSourceWindow=0x92c7470, bBackward=<optimized out>)
at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:617
#2 0xb698fa49 in Window::ImplDlgCtrl (this=0xbfffdf00, rKEvt=..., bKeyInput=1 '\001')
at /data/opt/libreoffice/master/vcl/source/window/dlgctrl.cxx:925
#3 0xb69edeb5 in Window::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5219
#4 0xb69c83bd in SystemWindow::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/syswin.cxx:108
#5 0xb698ccba in Dialog::Notify (this=0xbfffdf00, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/dialog.cxx:604
#6 0xb69edf6c in Window::Notify (this=0xa41bce8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#7 0xb69edf6c in Window::Notify (this=0x98d16e0, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#8 0xb69edf6c in Window::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#9 0xb67e81e8 in Control::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/ctrl.cxx:312
#10 0xb681f774 in Notify (rNEvt=..., this=0xa577258) at /data/opt/libreoffice/master/vcl/source/control/tabctrl.cxx:1592
#11 TabControl::Notify (this=0xa577258, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/tabctrl.cxx:1585
#12 0xb69edf6c in Window::Notify (this=0x8e9baa0, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#13 0xb69edf6c in Window::Notify (this=0x8f64f28, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#14 0xb69edf6c in Window::Notify (this=0x88e2b98, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#15 0xb69edf6c in Window::Notify (this=0x9df93d8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#16 0xb69edf6c in Window::Notify (this=0xa44d090, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#17 0xb69edf6c in Window::Notify (this=0x8f4ebc8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#18 0xb69edf6c in Window::Notify (this=0x8fbb1a8, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#19 0xb69edf6c in Window::Notify (this=0x92c7470, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:5239
#20 0xb67e81e8 in Control::Notify (this=0x92c7470, rNEvt=...) at /data/opt/libreoffice/master/vcl/source/control/ctrl.cxx:312
#21 0xb69e1882 in Window::KeyInput (this=0x92c7470, rKEvt=...) at /data/opt/libreoffice/master/vcl/source/window/window.cxx:4755
#22 0xb67df76a in RadioButton::KeyInput (this=0x92c7470, rKEvt=...) at /data/opt/libreoffice/master/vcl/source/control/button.cxx:2562
#23 0xb69f74c2 in ImplHandleKey (pWindow=0xbfffdf00, nSVEvent=4, nKeyCode=1025, nCharCode=0, nRepeat=0, bForward=1 '\001')
at /data/opt/libreoffice/master/vcl/source/window/winproc.cxx:1099
#24 0xb69f9c37 in ImplWindowFrameProc (pWindow=0xbfffdf00, nEvent=5, pEvent=0xbfffd730)
at /data/opt/libreoffice/master/vcl/source/window/winproc.cxx:2448
#25 0xb37ef50d in SalFrame::CallCallback (this=0x8f67ff0, nEvent=5, pEvent=0xbfffd730) at /data/opt/libreoffice/master/vcl/inc/salframe.hxx:244
#26 0xb37e9cdb in GtkSalFrame::doKeyCallback (this=0x8f67ff0, state=16, keyval=65362, hardware_keycode=111, time=385632262, aOrigCode=0, bDown=
true, bSendRelease=false) at /data/opt/libreoffice/master/vcl/unx/gtk/window/gtkframe.cxx:439
#27 0xb37ec663 in GtkSalFrame::signalKey (pEvent=0x96f3590, frame=0x8f67ff0)
at /data/opt/libreoffice/master/vcl/unx/gtk/window/gtkframe.cxx:3560
#28 0xb33c3a22 in _gtk_marshal_BOOLEAN__BOXED (closure=0x92eceb8, return_value=0xbfffd944, n_param_values=2, param_values=0xbfffd9b0,
invocation_hint=0xbfffd930, marshal_data=0x0) at gtkmarshalers.c:86
#29 0xb5bded54 in g_closure_invoke (closure=0x92eceb8, return_value=0xbfffd944, n_param_values=2, param_values=0xbfffd9b0, invocation_hint=
0xbfffd930) at gclosure.c:777
#30 0xb5bf0983 in signal_emit_unlocked_R (node=0x8098a10, detail=0, instance=0x928b8c8, emission_return=0xbfffdb48, instance_and_params=
0xbfffd9b0) at gsignal.c:3551
#31 0xb5bf88ad in g_signal_emit_valist (instance=0x928b8c8, signal_id=42, detail=0, var_args=
There is (effectively) an infinite loop doing a 'finish' in backInGroup for me at least, though initially / at first it would seem to hang but come out of this ...
I guess the issue is not advancing the iterators during the loops here; working on a fix. Fixed in master, in the gerrit queue for review for -4-0. Michael Meeks committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=23c22d3da5349ba1242edaeecfa0cba97a92ac71 fdo#62094 - fix infinite loop in radio button group iteration. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. Michael Meeks committed a patch related to this issue. It has been pushed to "libreoffice-4-0": http://cgit.freedesktop.org/libreoffice/core/commit/?id=1107e4d7e03ecd3f36993d362b6b42e5806817d8&h=libreoffice-4-0 fdo#62094 - fix infinite loop in radio button group iteration. It will be available in LibreOffice 4.0.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback. |
My intention was to find out whether there might be "hidden" keyboard shortcuts in that dialog. Steps how to reproduce with server installation of "LibO 4.0.1.2 release - German UI / German Locale [Build ID: 84102822e3d61eb989ddd325abf1ac077904985)]" {tinderbox: @6, pull time 2013-02-28 08:53(?)} on German WIN7 Home Premium (64bit) with newly created user profile ….\LibreOffice\4012\ 1. Open new Writer document 2. Menu 'File -> Print_ > Dialog appears 3. Click 'Umgekehrte Reihenfolge' (reverse order) 4. try typing a letter -> uparrow -> downarrow -> next letter typed, from time to time again Click 'Umgekehrte Reihenfolge' I see a lots of hangs, LibO becomes unresponsive, has to be closed. I am still working on a step by step instruction how to make the crash reproducible reliably. I did not test other dialogs, languages, versions until now.