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.
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.
Confirming, also on Mac OSX with Master build :
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.
Created attachment 51743 [details]
automatic form field activation order crash report
This is also a regression over 3.3.4 where the crash does not occur and automatic sort/activation order function works correctly.
Hasarding a guess that something is wrong in taborder.cxx...
(In reply to comment #5)
> Hasarding a guess that something is wrong in taborder.cxx...
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)
Created attachment 52405 [details]
screenshot of activation order dialog
I put up a screenshot of open form in design mode and activation order dialog.
It also appears to work fine in NeoOffice 3.1.2p8 and 3.2p5 without crashing.
(In reply to comment #10)
> It also appears to work fine in NeoOffice 3.1.2p8 and 3.2p5 without crashing.
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.
(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.
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.
Created attachment 52501 [details]
JRE Dump File
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.
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.
Created attachment 52629 [details]
complete backtrace on Linux
I added the complete backtrace made on a Debian x86-32.
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.
Thanks to the great help of Petr Mladek, a fix has been pushed very soon on 3.4 and on master branches.
forget "very soon". It has just been done.