Bug 41022

Summary: Activation Order Crashes Address Database
Product: LibreOffice Reporter: B Mikowski <bmikowski>
Component: DatabaseAssignee: Julien Nabet <serval2412>
Status: RESOLVED FIXED QA Contact:
Severity: blocker    
Priority: high Keywords: regression
Version: 3.4.2 release   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: Sample DB to show activation order (field tab order) DB crash issue
automatic form field activation order crash report
screenshot of activation order dialog
JRE Dump File
complete backtrace on Linux

Description B Mikowski 2011-09-19 17:30:39 UTC
Created attachment 51378 [details]
Sample DB to show activation order (field tab order) DB crash issue

After using the LibreOffice Wizards to create a simple Address database and form, I rearranged the fields on the form to a more logical order.  When I clicked on Activation Order toolbar button, and click on Automatic Sort button to reorder the tab order of the controls (fields), the database crashes.  I have attached the sample DB for review.
Comment 1 B Mikowski 2011-09-28 16:58:22 UTC
Addendum:  Not only does Base crash, but recovery of the database file after this point is not possible, as it keeps looping through recovery attempts at every attempt to open, then can't recover and closes down.
Comment 2 Alex Thurgood 2011-09-29 01:43:41 UTC
Confirming, also on Mac OSX with Master build :

LibO-dev 3.5.0 
Build ID: 6058133-1b94742-3dca5fd-7252360

However, I can recover the ODB file on Mac OSX with this build.


Enclosing stack trace. Nominating as blocker for 3.4.

Alex
Comment 3 Alex Thurgood 2011-09-29 01:47:05 UTC
Created attachment 51743 [details]
automatic form field activation order crash report
Comment 4 Alex Thurgood 2011-09-29 01:56:13 UTC
This is also a regression over 3.3.4 where the crash does not occur and automatic sort/activation order function works correctly.

Alex
Comment 5 Alex Thurgood 2011-09-29 02:07:53 UTC
Hasarding a guess that something is wrong in taborder.cxx...
Comment 6 Alex Thurgood 2011-09-29 02:23:23 UTC
(In reply to comment #5)
> Hasarding a guess that something is wrong in taborder.cxx...

or stdtabcontroller.cxx...
Comment 7 Julien Nabet 2011-10-15 14:20:10 UTC
Would it be possible to have some screenshots ?
I tried to reproduce this case but either I missed something or it depends on the environment (I'm on pc Debian x86-32)
Comment 8 Alex Thurgood 2011-10-17 01:41:50 UTC
Created attachment 52405 [details]
screenshot of activation order dialog
Comment 9 Alex Thurgood 2011-10-17 01:42:24 UTC
Hi Julien,

I put up a screenshot of open form in design mode and activation order dialog.


Alex
Comment 10 Alex Thurgood 2011-10-17 01:50:00 UTC
It also appears to work fine in NeoOffice 3.1.2p8 and 3.2p5 without crashing.

Alex
Comment 11 Alex Thurgood 2011-10-17 01:54:19 UTC
(In reply to comment #10)
> It also appears to work fine in NeoOffice 3.1.2p8 and 3.2p5 without crashing.
> 
> Alex

One strange thing I did notice however : in NeoOffice 3.1.2p8 a field needs to be selected before the TabOrder Activation button (on toolbar) can become available for opening the dialog. However, this is not the case for NeoOffice 3.2p5 where the button is immediately available as soon as the form is opened in Design Mode.


Alex
Comment 12 Alex Thurgood 2011-10-17 01:56:11 UTC
(In reply to comment #11)
> (In reply to comment #10)
> > It also appears to work fine in NeoOffice 3.1.2p8 and 3.2p5 without crashing.
> > 
> > Alex
> 
> One strange thing I did notice however : in NeoOffice 3.1.2p8 a field needs to
> be selected before the TabOrder Activation button (on toolbar) can become
> available for opening the dialog. However, this is not the case for NeoOffice
> 3.2p5 where the button is immediately available as soon as the form is opened
> in Design Mode.
> 
> 
> Alex

I should add that current Libo-dev exhibits the same toolbar display behaviour as NeoOffice 3.2p5, i.e. the TabActivation button is already available on the toolbar when the form is opened in design mode.

Alex
Comment 13 B Mikowski 2011-10-18 15:50:52 UTC
Created attachment 52501 [details]
JRE Dump File
Comment 14 B Mikowski 2011-10-18 15:51:59 UTC
I just added a dump file which appears to be related and was dropped in my Documents folder by the system. Let me know if this helps.
Comment 15 B Mikowski 2011-10-18 15:56:19 UTC
Also, when II recreat the issue on my PC now, Base *does* seem to be able to repair the test database after the Activation order crash.  I can get back into it after a repair.
Comment 16 Julien Nabet 2011-10-22 06:23:11 UTC
Created attachment 52629 [details]
complete backtrace on Linux

I added the complete backtrace made on a Debian x86-32.
Comment 17 Julien Nabet 2011-10-22 07:36:04 UTC
I've proposed a patch to review on dev libreoffice mailing list.
I compiled and tested, it seemed ok to me.

Let's see what devs think about it.
Comment 18 Julien Nabet 2011-10-24 07:07:30 UTC
Thanks to the great help of Petr Mladek, a fix has been pushed very soon on 3.4 and on master branches.
Comment 19 Julien Nabet 2011-10-24 12:13:15 UTC
forget "very soon". It has just been done.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.