Created attachment 66571 [details] stack trace Using libreoffice-3-6~2012-08-30_21.14.28_LibO-Dev_3.6.2.0_Linux_x86-64_helppack-deb_en-US Linux Mint 12 64bit 1) Configure an ODBC DSN connecting to a mysql server 2) Create and register an ODB with the mysql ODBC driver using the db creation wizard. In my specific case, I was using the tables from phpmyadmin 3) Close LO 4) Start LO, open new Writer document 5) Press F4 to open the data source browser (DSB) 6) Navigate down through the tables, either by clicking or moving the down arrow key. 7) Crash /opt/libreoffice3.6/program/pythonloader.py:60: UnicodeWarning: Unicode equal comparison failed to convert both arguments to Unicode - interpreting them as being unequal if 1 == os.access( encfile( path ), os.F_OK) and not path in sys.path: # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007fa1f0c0795c, pid=9778, tid=140334157261056 # # JRE version: 6.0_26-b03 # Java VM: Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode linux-amd64 compressed oops) # Problematic frame: # C [libdbalo.so+0x15395c] cppu::WeakComponentImplHelper11<com::sun::star::sdbc::XWarningsSupplier, com::sun::star::sdbc::XResultSet, com::sun::star::sdbc::XResultSetMetaDataSupplier, com::sun::star::sdbc::XRow, com::sun::star::sdbc::XCloseable, com::sun::star::sdbc::XColumnLocate, com::sun::star::sdbcx::XRowLocate, com::sun::star::sdbcx::XColumnsSupplier, com::sun::star::sdbc::XResultSetUpdate, com::sun::star::sdbc::XRowUpdate, com::sun::star::lang::XServiceInfo>::getImplementationId()+0x18a5c # # An error report file with more information is saved as: # /home/alex/Téléchargements/LODEBS/LibO-Dev_3.6.2.0_Linux_x86-64_helppack-deb_en-US/DEBS/hs_err_pid9778.log # # If you would like to submit a bug report, please visit: # http://java.sun.com/webapps/bugreport/crash.jsp # [error occurred during error reporting , id 0xb] Stack trace included. Alex
Don't have any debug symbols with the build, but this is the bt at SIGSEV : Program received signal SIGSEGV, Segmentation fault. 0x00007fffd225095c in ?? () from /opt/libreoffice3.6/program/../program/libdbalo.so (gdb) bt #0 0x00007fffd225095c in ?? () from /opt/libreoffice3.6/program/../program/libdbalo.so #1 0x00007fffd2250b1b in ?? () from /opt/libreoffice3.6/program/../program/libdbalo.so #2 0x00007fffd2251095 in ?? () from /opt/libreoffice3.6/program/../program/libdbalo.so #3 0x00007fffd1913b97 in ?? () from /opt/libreoffice3.6/program/../program/libfrmlo.so #4 0x00007fffd19155af in ?? () from /opt/libreoffice3.6/program/../program/libfrmlo.so #5 0x00007fffd1915f0a in ?? () from /opt/libreoffice3.6/program/../program/libfrmlo.so #6 0x00007fffd27a3a7d in ?? () from /opt/libreoffice3.6/program/../program/libdbulo.so #7 0x00007fffd2813250 in ?? () from /opt/libreoffice3.6/program/../program/libdbulo.so #8 0x00007fffd28143fd in ?? () from /opt/libreoffice3.6/program/../program/libdbulo.so #9 0x00007fffd2816330 in ?? () from /opt/libreoffice3.6/program/../program/libdbulo.so #10 0x00007fffd2829420 in ?? () from /opt/libreoffice3.6/program/../program/libdbulo.so #11 0x00007ffff37a70aa in Timer::ImplTimerCallbackProc() () from /opt/libreoffice3.6/program/libvcllo.so #12 0x00007fffe9a58893 in ?? () from /opt/libreoffice3.6/program/libvclplug_gtklo.so #13 0x00007fffe7d73a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #14 0x00007fffe7d74258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #15 0x00007fffe7d74429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #16 0x00007fffe9a58b30 in ?? () from /opt/libreoffice3.6/program/libvclplug_gtklo.so #17 0x00007ffff379fd81 in Application::Yield(bool) () from /opt/libreoffice3.6/program/libvcllo.so #18 0x00007ffff379fe37 in Application::Execute() () from /opt/libreoffice3.6/program/libvcllo.so #19 0x00007ffff7925b0d in ?? () from /opt/libreoffice3.6/program/libsofficeapp.so #20 0x00007ffff37a6717 in ?? () from /opt/libreoffice3.6/program/libvcllo.so #21 0x00007ffff37a67e5 in SVMain() () from /opt/libreoffice3.6/program/libvcllo.so #22 0x00007ffff7951697 in soffice_main () from /opt/libreoffice3.6/program/libsofficeapp.so #23 0x000000000040070b in ?? () #24 0x00007ffff70f930d in __libc_start_main (main=0x400700, argc=1, ubp_av=0x7fffffffe7f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffe7e8) at libc-start.c:226 #25 0x000000000040066a in ?? () #26 0x00007fffffffe7e8 in ?? () #27 0x000000000000001c in ?? () #28 0x0000000000000001 in ?? () #29 0x00007fffffffea91 in ?? () #30 0x0000000000000000 in ?? ()
Cannot reproduce in my 3.6 dev tree.
Alex: I don't know if a daily dbg LO package exists, found nothing here http://dev-builds.libreoffice.org/daily/ or missed it. Could you try with LO Mint package (think about installing libreoffice-dbg)? Next solution, build the sources (not very complicated if you follow http://wiki.documentfoundation.org/Development/Native_Build) and give it a try. In your case (you seem to use Mysql, Odbc, ...), autogen.lastrun should contain at least these options: --enable-debug --enable-dbgutil --enable-symbols --with-system-odbc --enable-ext-mysql-connector --with-system-mysql
(In reply to comment #3) Hi Julien, > Alex: I don't know if a daily dbg LO package exists, found nothing here > http://dev-builds.libreoffice.org/daily/ or missed it. No, there isn't one that I can see either. > > Could you try with LO Mint package (think about installing libreoffice-dbg)? I have added the Ubuntu PPA, but that is only at 3.5.4 at the moment, and I'm not even sure that it came with libreoffice-dbg, will have to check. The stock Mint 12 comes with LO 3.4.4 and debug symbols, but I didn't have a problem there. > > Next solution, build the sources (not very complicated if you follow > http://wiki.documentfoundation.org/Development/Native_Build) and give it a try. Not an option I'm afraid, too little disk space, and too slow a machine for building - it takes approximately 2 days for my LO build to complete on that machine (single processor, 756Mb RAM), and that's even when using ccache to speed things up :-/ Alex
Managed to test on 3.5.4.2 Ubuntu PPA with debug symbols Program received signal SIGSEGV, Segmentation fault. bt dbaccess::ORowSet::impl_restoreDataColumnsWriteable_throw (this=0x20ec520) at /build/buildd/libreoffice-3.5.4/dbaccess/source/core/api/RowSet.cxx:1259 1259 /build/buildd/libreoffice-3.5.4/dbaccess/source/core/api/RowSet.cxx: Aucun fichier ou dossier de ce type. in /build/buildd/libreoffice-3.5.4/dbaccess/source/core/api/RowSet.cxx (gdb) (gdb) c Continuing. [Thread 0x7fffdca8f700 (LWP 7231) exited] [Thread 0x7fffd8a49700 (LWP 7226) exited] [Thread 0x7fffdc28e700 (LWP 7222) exited] [Thread 0x7fffe45dd700 (LWP 7212) exited] [Thread 0x7fffed521700 (LWP 7207) exited] [Thread 0x7fffe4dde700 (LWP 7216) exited] Program terminated with signal SIGSEGV, Segmentation fault.
Hmm, so this is now reproducible for me in 3.5.4.2 as well, resetting version number back to earlier version. Alex
Apparently somewhere in here : void SAL_CALL ORowSet::moveToCurrentRow( ) throw(SQLException, RuntimeException) { ::connectivity::checkDisposed(ORowSet_BASE1::rBHelper.bDisposed); ::osl::ResettableMutexGuard aGuard( *m_pMutex ); checkPositioningAllowed(); if ( !m_pCache->m_bNew && !m_bModified ) // nothing to do if we're not on the insertion row, and not modified otherwise return; if ( rowDeleted() ) // this would perhaps even justify a RuntimeException .... // if the current row is deleted, then no write access to this row should be possible. So, // m_bModified should be true. Also, as soon as somebody calls moveToInsertRow, // our current row should not be deleted anymore. So, we should not have survived the above // check "if ( !m_pCache->m_bNew && !m_bModified )" ::dbtools::throwSQLException( DBACORE_RESSTRING( RID_STR_ROW_ALREADY_DELETED ), SQL_FUNCTION_SEQUENCE_ERROR, *this ); if ( notifyAllListenersCursorBeforeMove( aGuard ) ) { positionCache( MOVE_NONE_REFRESH_ONLY ); ORowSetNotifier aNotifier( this ); // notification order // - cursorMoved notifyAllListenersCursorMoved(aGuard); // - IsModified // - IsNew aNotifier.fire(); } }
FWIW : myodbc : 5.1.6-1 unixODBC : 2.2.14p2-2ubuntu1 mysql : 5.1.63-0ubuntu0.11.10.1
On pc Debian x86-64 testing (updated today) with master sources updated today, 3.6 and 3.5 updated some days ago, on each test, I created a brand new LO profile, I didn't reproduce the problem. libmyodbc version: 5.1.10-2+b1 unixodbc version: 2.2.14p2-5 mysql server version: 5.5.24-7 Perhaps there's something specific in your base, could you give SQL to recreate your base (structure + data)?
It seems to be an older bug. It seems to be somehow related to the specific setup. It can't block the next bugfix release => reducing the severity a bit.
I have just reproduced the crash on a 32bit LO 3.5.4.2 as supplied by Ubuntu 12.04. libmyodbc_5.1.10 mysql 5.5.24-0ubuntu0.12.04.1 (Ubuntu) /etc/odbcinst.ini [MySQL] Description = MySQL driver Driver = /usr/lib/i386-linux-gnu/odbc/libmyodbc.so Driver64 = /usr/lib/i386-linux-gnu Setup = /usr/lib/i386-linux-gnu/odbc/libmyodbc5.so Setup64 = /usr/lib/i386-linux-gnu UsageCount = 1 CPTimeout = 0 CPTimeToLive = 0 CPProbe = DisableGetFunctions = 0 DontDLCLose = 1 ExFetchMapping = 1 Threading = 3 FakeUnicode = 0 /etc/odbc.ini [mysql] Description = Mysql access Driver = MySQL Database = mysql Server = 127.0.0.1 First 4 tables of mysql db : CREATE TABLE `columns_priv` ( `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '', `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '', `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '', `Table_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '', `Column_name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '', `Timestamp` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `Column_priv` set('Select','Insert','Update','References') CHARACTER SET utf8 NOT NULL DEFAULT '', PRIMARY KEY (`Host`,`Db`,`User`,`Table_name`,`Column_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Column privileges' CREATE TABLE `db` ( `Host` char(60) COLLATE utf8_bin NOT NULL DEFAULT '', `Db` char(64) COLLATE utf8_bin NOT NULL DEFAULT '', `User` char(16) COLLATE utf8_bin NOT NULL DEFAULT '', `Select_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Insert_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Update_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Delete_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Create_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Drop_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Grant_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `References_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Index_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Alter_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Create_tmp_table_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Lock_tables_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Create_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Show_view_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Create_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Alter_routine_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Execute_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Event_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', `Trigger_priv` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N', PRIMARY KEY (`Host`,`Db`,`User`), KEY `User` (`User`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='Database privileges' CREATE TABLE `event` ( `db` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `name` char(64) NOT NULL DEFAULT '', `body` longblob NOT NULL, `definer` char(77) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `execute_at` datetime DEFAULT NULL, `interval_value` int(11) DEFAULT NULL, `interval_field` enum('YEAR','QUARTER','MONTH','DAY','HOUR','MINUTE','WEEK','SECOND','MICROSECOND','YEAR_MONTH','DAY_HOUR','DAY_MINUTE','DAY_SECOND','HOUR_MINUTE','HOUR_SECOND','MINUTE_SECOND','DAY_MICROSECOND','HOUR_MICROSECOND','MINUTE_MICROSECOND','SECOND_MICROSECOND') DEFAULT NULL, `created` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, `modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00', `last_executed` datetime DEFAULT NULL, `starts` datetime DEFAULT NULL, `ends` datetime DEFAULT NULL, `status` enum('ENABLED','DISABLED','SLAVESIDE_DISABLED') NOT NULL DEFAULT 'ENABLED', `on_completion` enum('DROP','PRESERVE') NOT NULL DEFAULT 'DROP', `sql_mode` set('REAL_AS_FLOAT','PIPES_AS_CONCAT','ANSI_QUOTES','IGNORE_SPACE','NOT_USED','ONLY_FULL_GROUP_BY','NO_UNSIGNED_SUBTRACTION','NO_DIR_IN_CREATE','POSTGRESQL','ORACLE','MSSQL','DB2','MAXDB','NO_KEY_OPTIONS','NO_TABLE_OPTIONS','NO_FIELD_OPTIONS','MYSQL323','MYSQL40','ANSI','NO_AUTO_VALUE_ON_ZERO','NO_BACKSLASH_ESCAPES','STRICT_TRANS_TABLES','STRICT_ALL_TABLES','NO_ZERO_IN_DATE','NO_ZERO_DATE','INVALID_DATES','ERROR_FOR_DIVISION_BY_ZERO','TRADITIONAL','NO_AUTO_CREATE_USER','HIGH_NOT_PRECEDENCE','NO_ENGINE_SUBSTITUTION','PAD_CHAR_TO_FULL_LENGTH') NOT NULL DEFAULT '', `comment` char(64) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '', `originator` int(10) unsigned NOT NULL, `time_zone` char(64) CHARACTER SET latin1 NOT NULL DEFAULT 'SYSTEM', `character_set_client` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `collation_connection` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `db_collation` char(32) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL, `body_utf8` longblob, PRIMARY KEY (`db`,`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='Events' CREATE TABLE `func` ( `name` char(64) COLLATE utf8_bin NOT NULL DEFAULT '', `ret` tinyint(1) NOT NULL DEFAULT '0', `dl` char(128) COLLATE utf8_bin NOT NULL DEFAULT '', `type` enum('function','aggregate') CHARACTER SET utf8 NOT NULL, PRIMARY KEY (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='User defined functions' These are the first 4 tables in any standard mysql database. Alex
Of the four tables, only "db" has any data in it, which concerns one entry relating to the rights I have to access and use the db. I have all rights on the server (localhost), from any machine, except for GRANT. In its behaviour, this bug looks very much like the JDBC bug crash that can be produced under the same modus operandi on Mac and which you also confirmed recently on x86_64. Alex
(In reply to comment #11) > I have just reproduced the crash on a 32bit LO 3.5.4.2 as supplied by Ubuntu > 12.04. Alex, could you retrieve a backtrace with symbols. You don't need to build here, just install libreoffice-dbg and follow the steps of this link: http://wiki.documentfoundation.org/BugReport#How_to_get_backtrace_.28on_Linux.29 If you don't have time, I'll give a try tonight. Anyway, thank you for your last feedback and don't give up for MacOs Build, you'll make it at the end :)
Remember : the crash occurs when traversing down the table list that appears in the left hand pane of the DSB, for me, it is systematically when I reach the 4th table in the table list. The three previous tables display fine. The bug also reminds me of a similar problem we had a while ago with navigating the tree view listing of Basic macros which come pre-installed with LO. In that bug, if you clicked anywhere in the middle of the list and started navigating, there was no crash, but if you started from the first entry of the list, a crash could be systematically reproduced after traversing down through the list after about the third or fourth entry. Alex
(In reply to comment #13) > Alex, could you retrieve a backtrace with symbols. Am looking at doing that now :-) > > Anyway, thank you for your last feedback and don't give up for MacOs Build, > you'll make it at the end :) Eventually, with any luck :-)) Alex
Perhaps a dup of fdo#37529 (https://bugs.freedesktop.org/show_bug.cgi?id=37529)? The stacktrace may confirm it.
Created attachment 67084 [details] full backtrace
(In reply to comment #17) > Created attachment 67084 [details] > full backtrace The backtrace seems the same as 37529: - dbaccess::ORowSet::impl_setDataColumnsWriteable_throw - dbaccess::ORowSet::moveToInsertRow Lionel: what do you think about this "naive" fix here: https://bugs.freedesktop.org/show_bug.cgi?id=37529#c29 ?
Assuming it is a dupe of 37529, because same backtrace *** This bug has been marked as a duplicate of bug 37529 ***
In the daily build of 13/09/2012, I'm still getting a crash with an ODBC connection, so re-opening. Enclosing backtrace, unfortunately no symbols on downloads from dailies. Alex
Created attachment 67205 [details] ODBC crash trace
Tested on x86 with daily/Linux-x86_10-Release-Configuration/libreoffice-3-6/ 2012-09-13_10.35.29/ libreoffice-3-6~2012-09-13_10.35.29 LibO-Dev_3.6.3.0_Linux_x86_install-deb_en-US.tar.gz
Alex, (In reply to comment #22) > Tested on x86 with > daily/Linux-x86_10-Release-Configuration/libreoffice-3-6/ > 2012-09-13_10.35.29/ > libreoffice-3-6~2012-09-13_10.35.29 > LibO-Dev_3.6.3.0_Linux_x86_install-deb_en-US.tar.gz This build does not contain my fix for bug 37529. Please retest with a later daily build. See in file http://dev-builds.libreoffice.org/daily/Linux-x86_10-Release-Configuration/libreoffice-3-6/2012-09-13_10.35.29/libreoffice-3-6~2012-09-13_10.35.29_build_info.txt: tinderbox: pull time 2012-09-13 10:35:29 that's before my fix was committed to libreoffice-3-6 branch Also: core:0c3fcef9e38726b03e91aaeb2bb0817bc4f3769d If you look at http://cgit.freedesktop.org/libreoffice/core/log/?h=libreoffice-3-6, you see that this commit is before mine: http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-6&id=77e0a04561f271d87a14d6a8b6bfe20c93ef7e5d http://cgit.freedesktop.org/libreoffice/core/commit/?h=libreoffice-3-6&id=0c3fcef9e38726b03e91aaeb2bb0817bc4f3769d *** This bug has been marked as a duplicate of bug 37529 ***