Bug 71692 - ListBox form control / List content query only one column / bound column == 1: fails to load
Summary: ListBox form control / List content query only one column / bound column == 1...
Status: RESOLVED NOTABUG
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Base (show other bugs)
Version:
(earliest affected)
4.1.3.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard: BSA
Keywords: regression
Depends on:
Blocks:
 
Reported: 2013-11-17 10:12 UTC by giyomu
Modified: 2015-04-24 17:49 UTC (History)
4 users (show)

See Also:
Crash report or crash signature:


Attachments
This is the database that I use (with all scripts/macro included) but without my private data (260.83 KB, application/vnd.oasis.opendocument.database)
2013-11-17 10:12 UTC, giyomu
Details

Note You need to log in before you can comment on or make changes to this bug.
Description giyomu 2013-11-17 10:12:05 UTC
Created attachment 89345 [details]
This is the database that I use (with all scripts/macro included) but without my private data

Problem description: 

Steps to reproduce:
1. Open the comptes.odb database
2. Try to use list on main interface

Current behavior:
Error when loading database seems the method to open database have changed (see macro inside the file attached)
Many corrupted behavior (list to choise a method of payment is empty, action button or new entry will generate an error message…)
When I try to generate a report, presentation has changed (glitch on lines…)

Expected behavior:
Loading without error and ability to use the interface without error message and to have reports correctly generate

Java version loaded in preferences of Libreoffice : 1.6.0_37
Mac Os X version : 10.8.2
Operating System: Mac OS X
Version: 4.1.3.2 release
Comment 1 Julien Nabet 2013-11-17 16:13:58 UTC
If it can give some hints, on pc Debian x86-64 with master sources updated yesterday, I've got this:

warn:legacy.osl:12560:1:forms/source/component/ListBox.cxx:898: caught an exception!
in function:void frm::OListBoxModel::loadData(bool)
type: com.sun.star.lang.IndexOutOfBoundsException
message: 1
context: N8dbaccess8OColumnsE

warn:connectivity.commontools:12560:1:connectivity/source/commontools/FValue.cxx:2365: ORowSetValue::fill: unsupported type!
warn:sfx.control:12560:1:sfx2/source/control/dispatch.cxx:1469: Childwindow slot missing: 10365
warn:legacy.osl:12560:1:forms/source/component/ListBox.cxx:898: caught an exception!
in function:void frm::OListBoxModel::loadData(bool)
type: com.sun.star.lang.IndexOutOfBoundsException
message: 1
context: N8dbaccess8OColumnsE

warn:connectivity.commontools:12560:1:connectivity/source/commontools/FValue.cxx:2365: ORowSetValue::fill: unsupported type!

Popup:
"The contents of a combo box or list field could not be determined."

"SQL Status: S0022
Error code: -28

Column not found: 2"

giyomu: Just for information, what was the last LO version OK with this file?
Comment 2 Alex Thurgood 2013-11-17 17:57:25 UTC
The attached DB causes my master build of LO dev (on OSX 10.8.5) to hang requiring force kill.

Version: 4.2.0.0.alpha0+
Build ID: f1ccfc64fca471f140a4b1830e370d8e4fe8ad4f


In LO 4.0.5, I get the following error message when attemtping to open the file:

Erreur d'exécution BASIC.
Une exception s'est produite : 
Type: com.sun.star.sdbc.SQLException
Message: Impossible d'établir la connexion à la source de données "comptes"..

This message appears in front of the Basic IDE

The line of code where execution stops is :

ThisDatabaseDocument.CurrentController.connect("","")



Alex
Comment 3 Alex Thurgood 2013-11-17 18:02:48 UTC
Confirming OP's findings in LO 4.1.3.2:

Statut SQL: S0022
Code d'erreur: -28

Column not found: 2
Comment 4 Alex Thurgood 2013-11-17 18:05:36 UTC
It works in Version 3.6.7.2 (Build ID: e183d5b)


Alex
Comment 5 Alex Thurgood 2013-11-17 18:07:58 UTC
Clicking on the "Current Report" button also works and opens what appears to be a correct report too on LO 3.6.7.
Comment 6 Alex Thurgood 2013-11-17 18:14:54 UTC
Hmm, my master build is pretty old now and am seeing this under gdb :

warn:cppuhelper:79429:8:cppuhelper/source/shlib.cxx:503: loading component library failed: libfile:///Applications/LibreOfficeDev.app/Contents/MacOS/../MacOS/libhsqldb.jnilib.dylib
libc++abi.dylib: terminate called throwing an exception

Program received signal SIGABRT, Aborted.
[Switching to process 79429 thread 0x7a13]
0x00007fff8b589212 in __pthread_kill ()

but I think that got fixed so testing is probably moot ?


Alex
Comment 7 Robert Großkopf 2013-11-17 19:55:46 UTC
(In reply to comment #1)
> Popup:
> "The contents of a combo box or list field could not be determined."
> 
> "SQL Status: S0022
> Error code: -28
> 
> Column not found: 2"

Don't know, why it could work with other LO-Versions. Both listfields have a bounded field '1'.
SELECT "Type_Paiement" FROM "Paiement" has only one field and Categorie the same. Base is missing the second field, which is bounded to the table.

If you will set the bounded field of both listfields to '0' it would work.

There has been something changed in listfields with the value of the bounded field in LO 4.1.*
Comment 8 Julien Nabet 2013-11-17 20:59:11 UTC
In gdb session, I noticed this:
Breakpoint 1, connectivity::ORowSetValue::impl_fill (this=0x7fffffff44c0, _nType=0, _bNullable=true, _rValueSource=...)

_nType = 0 seems to correspond to this:
const long SQLNULL = 0;
see
http://opengrok.libreoffice.org/xref/core/offapi/type_reference/offapi.idl#10783

and indeed ORowSetValue::impl_fill doesn't deal with SQLNULL,
see http://opengrok.libreoffice.org/xref/core/connectivity/source/commontools/FValue.cxx#2285
Comment 9 Lionel Elie Mamane 2013-11-18 02:37:21 UTC
If I understand well, there are two problems described here.

Please, only one problem per bug entry. For multiple problems,
open multiple bug entries.

1) When opening form Dépenses_avec_filter, error message
   "Column not found: 2"

   That's indeed because the two listboxes (catégorie and
   paiement) have their "Bound column" property set to 1,
   (which means second column), but the "List content"
   query has only one column. If one sets "Bound column"
   to 0, it works correctly.

   -----------> NOTABUG

   Why it worked in LibreOffice 3.6 is a mystery to me.

2) When opening form Dépenses_avec_filter, the layout of
   the buttons in the bottom is all messed up: they are
   one over the other, too much on the left.

   That's a real bug, but I cannot reproduce with
   LibreOffice 4.2.0.alpha (master). If someone feels
   like bibisecting where it was fixed, it would allow
   to backport the fix to 4.1.x.

   I'm forking this issue into another bug entry for
   clarity of discussion.
Comment 10 giyomu 2013-11-24 23:03:23 UTC
Thanks to all to take in consideration my report.

Sorry to not do only one report for one bug, but I was using LibreOffice 4.0.x (just the previous version before 4.0.6.2) and my base was working perfectly (even if i understand there was an issue about my query on the list).

After installing LibreOffice 4.1.x, I got error at loading, error for list, error for reports... error everywhere in fact, that's why I made this post and I roll back to LibreOffice 4.0.6.2. My main issue is to have a base working previously that is not working in new version but I will made correction and I will try again with bug reports and comments.

Since now, LibreOffice 4.0.6.2 is stuck when I want to quit (but base works well) so I force to quit (I know I should post a bug report on this matter but at the end of the day I will test in priority for LibreOffice 4.1).

Thanks again for your consideration and your support, it is quite hard for me to post a bug in the right and I will try to do my best to do it.