Bug 131712 - Base EDITING Crash on SQL select command or double click on table with non null float field - mysql native connector (mariadb)
Summary: Base EDITING Crash on SQL select command or double click on table with non nu...
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
6.3.2.2 release
Hardware: x86-64 (AMD64) All
: medium normal
Assignee: Julien Nabet
URL:
Whiteboard: target:7.0.0 target:6.4.3 target:6.3.6
Keywords:
Depends on:
Blocks:
 
Reported: 2020-03-30 14:27 UTC by Peter
Modified: 2020-04-01 09:10 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
bt with debug symbols (10.38 KB, text/plain)
2020-03-30 17:12 UTC, Julien Nabet
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter 2020-03-30 14:27:29 UTC
Description:
I have an Libre office Base database file which connects to mariadb on remote server using mysql (direct) connector.

Most functionality works fine, but there is one table which if I do any of the following will crash the whole of libreoffice without any recovery facilitate (straight to OS 'this program as crash - what would you like to do' prompt.
1) Double click on table in table list
2) Right on table and click 'open'
3) Run any SQL select query on that table

Apon reopening Libreoffice it offers you chance to restore, but if you click start it crashes libreoffice again.

However I can do any of the above on other tables without issue. If I truncate said table I can do any of the above with out issue. If I make the values the two float fields 'null' for all rows, I can do any of the above without issue.

Steps to Reproduce:
1.Connect Base to remote mariadb database using mysql (direct) connector
2.create a table with integer key & a float field
3.Open this table by double click on it
4.Create a new entery by adding 1 in the int primary key field.
5.click save on both edit table window and the main database window
6.try to enter a 1 into float field for the entry you've created.

Actual Results:
The 1 is saved to the database ( which you can confirm by connecting to mariadb via command line, but libreoffice crashes

Expected Results:
Libreoffice shouldn't crash


Reproducible: Always


User Profile Reset: No



Additional Info:
I think this is a bug in the mysql (direct) connector. 

I install Libreoffice via brew and the connector came with it, but internet implies on some distribution is might be an extension.

I also found this which implied it has recently become part of core libreoffice, hence why I'm posting bug here:
https://wastack.wordpress.com/2019/02/07/the-new-mysql-driver-in-libreoffice/
Comment 1 Peter 2020-03-30 15:06:01 UTC
Just updated to 6.4.4 and issue is as stated above
Comment 2 Peter 2020-03-30 15:20:30 UTC
Interestingly it turns out that changing field from 'float' to 'double' resolves the issue, but not sure why.
Comment 3 Julien Nabet 2020-03-30 17:07:51 UTC
On pc Debian x86-64 with master sources updated today, I could reproduce this.
Comment 4 Julien Nabet 2020-03-30 17:12:06 UTC
Created attachment 159161 [details]
bt with debug symbols

There's a crash (infinite loop) when trying to reopen the table, I attached part of bt.
Comment 5 Julien Nabet 2020-03-30 17:46:39 UTC
Thank you for having spotted this bug!

Let's give a try with:
https://gerrit.libreoffice.org/c/core/+/91379
Comment 6 Commit Notification 2020-03-30 18:23:16 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "master":

https://git.libreoffice.org/core/commit/192ee96db3bc3544c388034b19fa7a9cd6e7537d

tdf#131712: fix crash on table with non null float field (mysql native)

It will be available in 7.0.0.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 7 Commit Notification 2020-03-30 19:09:54 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-6-4":

https://git.libreoffice.org/core/commit/9e72262b420bad1e54287e35463be55769063608

tdf#131712: fix crash on table with non null float field (mysql native)

It will be available in 6.4.4.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 8 Commit Notification 2020-03-31 06:46:28 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-6-3":

https://git.libreoffice.org/core/commit/dd4fcaad466dad6e55c3b53170e82ebcc3946a96

tdf#131712: fix crash on table with non null float field (mysql native)

It will be available in 6.3.6.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.
Comment 9 Commit Notification 2020-04-01 08:47:28 UTC
Julien Nabet committed a patch related to this issue.
It has been pushed to "libreoffice-6-4-3":

https://git.libreoffice.org/core/commit/bc6f350d17b9e80e66add73fb6743b16db320b2c

tdf#131712: fix crash on table with non null float field (mysql native)

It will be available in 6.4.3.

The patch should be included in the daily builds available at
https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More
information about daily builds can be found at:
https://wiki.documentfoundation.org/Testing_Daily_Builds

Affected users are encouraged to test the fix and report feedback.