Bug 162540 - Forms: Subform leads to crash of whole LO depended on Order of Links between Mainform and Subform
Summary: Forms: Subform leads to crash of whole LO depended on Order of Links between ...
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
24.2.5.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: Database-Forms
  Show dependency treegraph
 
Reported: 2024-08-21 15:12 UTC by Robert Großkopf
Modified: 2024-12-21 18:32 UTC (History)
1 user (show)

See Also:
Crash report or crash signature:


Attachments
Open form "Subform_5_links" and then "Subform_5_links_order_new". Change values in subform. (52.01 KB, application/vnd.oasis.opendocument.database)
2024-08-21 15:12 UTC, Robert Großkopf
Details
Apple Crash trace on SIGSEGV (319.86 KB, text/plain)
2024-08-22 09:50 UTC, Alex Thurgood
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Großkopf 2024-08-21 15:12:18 UTC
Created attachment 195929 [details]
Open form "Subform_5_links" and then "Subform_5_links_order_new". Change values in subform.

Open the attached database.
Open the form "Subform_5_links".
Change a "StartDatum" in Subform and set cursor to next row to save - works.
Close the form, open "Subform_5_links_order_new".
Change a "StartDatum" in Subform and try to save.
LO crashes immediately.

Note: The only difference between the forms is the order of the fields linked from mainform to subform. There are 5 fields linked. First and last field are the same, field 2, 3 and 4 are linked at different positions, but linked with right field.

This bug appears here with LO 24.2.5.2 also with LO 25.2. on OpenSUSE Linux. Has been reported to me for LO 7.6.5.2 on Windows.
Comment 1 Julien Nabet 2024-08-21 20:45:12 UTC
On pc Debian x86-64 with master sources updated today, I could reproduce this.

There's a kind of loop in the bt:
#5173 0x00007f475e611ad9 connectivity::firebird::OPreparedStatement::setObjectWithInfo (this=0x5574fd4a8c40, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/drivers/firebird/PreparedStatement.cxx:857
#5174 0x00007f477a2afd66 in dbtools::setObjectWithInfo (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, _rValue=..., sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1789
#5175 0x00007f477a2afa9d in dbtools::setObjectWithInfo
    (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1772
#5176 0x00007f475e611ad9 in connectivity::firebird::OPreparedStatement::setObjectWithInfo (this=0x5574fd4a8c40, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/drivers/firebird/PreparedStatement.cxx:857
#5177 0x00007f477a2afd66 in dbtools::setObjectWithInfo (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, _rValue=..., sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1789
#5178 0x00007f477a2afa9d in dbtools::setObjectWithInfo
    (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1772
#5179 0x00007f475e611ad9 in connectivity::firebird::OPreparedStatement::setObjectWithInfo (this=0x5574fd4a8c40, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/drivers/firebird/PreparedStatement.cxx:857
#5180 0x00007f477a2afd66 in dbtools::setObjectWithInfo (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, _rValue=..., sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1789
#5181 0x00007f477a2afa9d in dbtools::setObjectWithInfo
    (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1772
#5182 0x00007f475e611ad9 in connectivity::firebird::OPreparedStatement::setObjectWithInfo (this=0x5574fd4a8c40, parameterIndex=4, x=uno::Any("string": "0.19"), sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/drivers/firebird/PreparedStatement.cxx:857
#5183 0x00007f477a2afd66 in dbtools::setObjectWithInfo (_xParams=uno::Reference to (connectivity::firebird::OPreparedStatement *) 0x5574fd4a8dd0, parameterIndex=4, _rValue=..., sqlType=3, scale=0)
    at /home/julien/lo/libreoffice/connectivity/source/commontools/dbtools.cxx:1789
Comment 2 Julien Nabet 2024-08-21 20:50:04 UTC
Just to avoid searching the fields
in the first form which doesn't crash we got:
Main form:
ID
Steuer_Code_ID
Steuersatz
linkRabatt
Rechnung_ID

subform:
Ausgang_ID
Steuer_Code_ID
Steuersatz
linkRabatt
Rechnung_ID

in the one which crashes
Main form:
ID
Steuersatz
linkRabatt
Steuer_Code_ID
Rechnung_ID

subform:
Ausgang_ID
Steuersatz
linkRabatt
Steuer_Code_ID
Rechnung_ID
Comment 3 Alex Thurgood 2024-08-22 09:49:46 UTC
Confirming with 

Path:                  /Applications/LO24252.app/Contents/MacOS/soffice
Identifier:            org.libreoffice.script
Version:               24.2.5.2 (24.2.5.2)
Code Type:             ARM-64 (Native)

Managed to get an Apple trace from the SIGSEGV on crash.
Comment 4 Alex Thurgood 2024-08-22 09:50:14 UTC
Created attachment 195951 [details]
Apple Crash trace on SIGSEGV
Comment 5 Julien Nabet 2024-08-23 06:58:30 UTC
No idea how to fix this=>uncc myself.