https://bugs.documentfoundation.org/show_bug.cgi?id=148343
Bug ID: 148343
Summary: EDITING an ODBC database (MS Access and Quickbase via
QuNect ODBC for QuickBase) crashes LibreOffice
Product: LibreOffice
Version: 7.4.0.0 alpha0+ Master
Hardware: All
OS: Windows (All)
Status: UNCONFIRMED
Severity: normal
Priority: medium
Component: Base
Assignee: [email protected]
Reporter: [email protected]
Description:
Base crashes after editing a record and moving the cursor off of the edited
record. Just add a few records and it will most likely crash. It will also
crash if you navigate around the records enough without editing. You can also
cause a crash by deleting records and navigating back and forth through the
record set.
Steps to Reproduce:
On a Windows machine install QuNect ODBC for QuickBase from this link:
https://qunect.com/download/QuNect.exe
follow configuration instructions here:
https://qunect.com/flash/configure.html
If you prefer you can use the Linux version of the driver and get the same
results.
The Linux driver instructions are available here:
https://qunect.com/linux.html
The latest version of the Linux driver is available here:
https://qunect.com/download/linux/64real/Rocky8/2022/release/libqunect64.so
configure your DSN with a username of:
[email protected]
and a usertoken of: (note this is not a password but it is a usertoken)
byj7yu_bahz_0_dyemitzb53wbqmbxkcub6du3eehb
and a Quickbase server of:
qunect.quickbase.com
1.Open BASE and in the Database Wizard select the bottom radio button "Connect
to an existing database."
2.Choose ODBC from the dropdown
3.Choose the 64 bit DSN you configured above
4. Click Finish
5. Open the "Simple Table"
6. Add records, then delete a few, and then navigate around the record set
7. For good measure do a few Refreshes and Rebuilds
Actual Results:
LibreOffice Base crashes.
Expected Results:
Records are edited and saved to Quickbase
Reproducible: Always
User Profile Reset: Yes
Additional Info:
Line 883 in OResultSet.cxx
setStmtOption<SQLLEN*, SQL_IS_POINTER>(SQL_ATTR_FETCH_BOOKMARK_PTR,
reinterpret_cast<SQLLEN*>(aBookmark.getArray()));
gets a SQLLEN pointer (8 bytes) from aBookmark which is only a 4 byte array. I
see this in Visual Studio when I set a breakpoint in my ODBC driver (QuNect
ODBC for QuickBase). So the bookmark that my ODBC driver retrieves from the
pointer defined by SQL_ATTR_FETCH_BOOKMARK_PTR, an ODBC statement attribute, is
invalid. It's often a very large number, way beyond any valid value. MS Access
ODBC connections also report
--
You are receiving this mail because:
You are the assignee for the bug.