Bugzilla will be upgraded to version 5.0 on a still to be determined date in the near future. The original upgrade date has been delayed.
Bug 618151 - malformed configuration data
malformed configuration data
Status: CLOSED RAWHIDE
Product: Fedora
Classification: Fedora
Component: openoffice.org-voikko (Show other bugs)
rawhide
All Linux
low Severity medium
: ---
: ---
Assigned To: Ville-Pekka Vainio
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2010-07-26 05:26 EDT by matti aarnio
Modified: 2013-02-08 15:58 EST (History)
4 users (show)

See Also:
Fixed In Version: openoffice.org-voikko-3.1-5.fc14
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2010-07-27 11:59:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Requested files from my system (4.13 MB, application/x-gzip)
2010-07-27 06:44 EDT, matti aarnio
no flags Details
fix the config (1.06 KB, patch)
2010-07-27 09:16 EDT, David Tardon
no flags Details | Diff

  None (edit)
Description matti aarnio 2010-07-26 05:26:28 EDT
Description of problem:
  OpenOffice writer fails to start with unhelpful error popup

Version-Release number of selected component (if applicable):
  Rawhide  openoffice.org-writer-3.3.0-1.5.fc14.1.x86_64

How reproducible:
  Unavoidable

Steps to Reproduce:
1. Update to openoffice.org-writer-3.3.0-1.5.fc14.1.x86_64
2. Purge your personal ~/.openoffice.org  directory
3. Start oowriter

  
Actual results:
 $ oowriter 
 Gtk-Message: Failed to load module "gail-gnome": libgail-gnome.so: cannot open shared object file: No such file or directory
 Fontconfig error: Cannot load config file "/usr/lib64/openoffice.org3/program/../basis-link/share/fonts/truetype/fc_local.conf"
 Fontconfig error: Cannot load config file "/usr/lib64/openoffice.org3/program/../basis-link/share/fonts/type1/fc_local.conf"
 Fontconfig error: Cannot load config file "/home/mea/.openoffice.org/3/user/fonts/fc_local.conf"
 Gtk-Message: Failed to load module "gail-gnome": libgail-gnome.so: cannot open shared object file: No such file or directory

plus a "Fatal Error" dialog popup with text:
  "The application cannot be started. 
A general error occurred while accessing your central configuration. "

(The libgail-gnome.so is on GTK2.0 modules, but not on GTK3.0 modules in rawhide, however that does not appear to be affecting this issue, it is just nuisance leading to wrong direction.  Nor are the Fontconfig messages relevant - I think.)


Expected results:

 No error, or at least an error report giving real clue as to what went wrong.

Additional info:

This one directly mentions the dialog text:
  http://qa.openoffice.org/issues/show_bug.cgi?id=112578

These are referred by 112578:
  http://qa.openoffice.org/issues/show_bug.cgi?id=110720
  http://www.openoffice.org/servlets/ReadMsg?list=interface-announce&msgNo=1257
Comment 1 David Tardon 2010-07-26 06:36:13 EDT
Do you have any extensions installed? Especially wiki-publisher? This looks very much like the problem described in http://qa.openoffice.org/issues/show_bug.cgi?id=110720, but I cannot reproduce it here. Does it help if you remove all extensions?

To get list of installed extensions run

unopkg list

and

unopkg list --shared

in terminal.
Comment 2 matti aarnio 2010-07-26 08:51:32 EDT
Executing the first command as root:

# unopkg list 
All deployed user extensions:

<none>


Executing it is myself:

$ unopkg list 

ERROR: [context="user"] caught unexpected exception!

unopkg failed.


 ...  strace -ff -o tt /usr/lib64/openoffice.org3/program/unopkg.bin list "-env:INIFILENAME=vnd.sun.star.pathname:/usr/lib64/openoffice.org3/program/redirectrc"

....
getcwd("/home/mea/Documents", 4096)     = 20
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org3/program", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org3/basis-link", {st_mode=S_IFLNK|0777, st_size=26, ...}) = 0
readlink("/usr/lib64/openoffice.org3/basis-link", "../openoffice.org/basis3.3", 4095) = 26
lstat("/usr/lib64/openoffice.org", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/basis3.3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/basis3.3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/basis3.3/program", {st_mode=S_IFDIR|0755, st_size=12288, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/basis3.3", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/basis3.3/ure-link", {st_mode=S_IFLNK|0777, st_size=6, ...}) = 0
readlink("/usr/lib64/openoffice.org/basis3.3/ure-link", "../ure"..., 4095) = 6
lstat("/usr/lib64/openoffice.org/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/ure/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64", {st_mode=S_IFDIR|0555, st_size=163840, ...}) = 0
lstat("/usr/lib64/openoffice.org", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/ure", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/ure/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0
lstat("/usr/lib64/openoffice.org/ure/lib/libuno_cppu.so.3", {st_mode=S_IFREG|0755, st_size=217512, ...}) = 0
write(2, "\nERROR: [context=\"user\"] caught unexpected exception!\n", 54) = 54
write(2, "\nunopkg failed.\n", 16)      = 16
...
Comment 3 matti aarnio 2010-07-26 09:09:00 EDT
Perhaps this helps:


$ gdb /usr/lib64/openoffice.org3/program/unopkg.bin
(gdb) catch throw
Catchpoint 1 (throw)
(gdb) catch catch
Catchpoint 2 (catch)
(gdb) run list -env:INIFILENAME=vnd.sun.star.pathname:/usr/lib64/openoffice.org3/program/redirectrc
...

[New Thread 0x7ffff4b7a710 (LWP 8261)]
Catchpoint 1 (exception thrown), __cxxabiv1::__cxa_throw (obj=0x6086b0, tinfo=0x7ffff77748c0, dest=
    0x7fffedfffd30 <com::sun::star::registry::InvalidRegistryException::~InvalidRegistryException()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:70
70        header->exc.unexpectedHandler = __unexpected_handler;
(gdb) where
#0  __cxxabiv1::__cxa_throw (obj=0x6086b0, tinfo=0x7ffff77748c0, 
    dest=0x7fffedfffd30 <com::sun::star::registry::InvalidRegistryException::~InvalidRegistryException()>) at ../../../../libstdc++-v3/libsupc++/eh_throw.cc:70
#1  0x00007fffedff9022 in stoc_simreg::SimpleRegistryImpl::open (this=0x7fffee4b3f70, rURL=..., bReadOnly=1 '\001', bCreate=0 '\000')
    at /usr/src/debug/OOO330_m1/stoc/source/simpleregistry/simpleregistry.cxx:1170
#2  0x00007ffff74e364a in cppu::(anonymous namespace)::nestRegistries (baseDir=..., xSimRegFac=..., xNesRegFac=..., csl_rdbs=..., write_rdb=<value optimized out>, 
    forceWrite_rdb=0 '\000', bFallenBack=0 '\000') at /usr/src/debug/OOO330_m1/cppuhelper/source/bootstrap.cxx:332
#3  0x00007ffff74e4b59 in cppu::(anonymous namespace)::defaultBootstrap_InitialComponentContext (bootstrap=...)
    at /usr/src/debug/OOO330_m1/cppuhelper/source/bootstrap.cxx:417
#4  0x00007ffff74e6654 in cppu::defaultBootstrap_InitialComponentContext () at /usr/src/debug/OOO330_m1/cppuhelper/source/bootstrap.cxx:471
#5  0x00007ffff79f7cb2 in bootstrapStandAlone (disposeGuard=..., verbose=false, shared=<value optimized out>, bGui=false, out_localContext=...)
    at /usr/src/debug/OOO330_m1/desktop/source/pkgchk/unopkg/unopkg_misc.cxx:380
#6  unopkg::getUNO (disposeGuard=..., verbose=false, shared=<value optimized out>, bGui=false, out_localContext=...)
    at /usr/src/debug/OOO330_m1/desktop/source/pkgchk/unopkg/unopkg_misc.cxx:487
#7  0x00007ffff79ec612 in unopkg_main () at /usr/src/debug/OOO330_m1/desktop/source/pkgchk/unopkg/unopkg_app.cxx:383
#8  0x0000000000400f9b in sal_main (argc=<value optimized out>, argv=<value optimized out>) at unopkg_main.c:35
#9  main (argc=<value optimized out>, argv=<value optimized out>) at unopkg_main.c:34
Comment 4 matti aarnio 2010-07-26 15:41:18 EDT
Ah..  no, just first of hundreds of thrown exceptions before the real trouble happens.  A real bastard to debug this one.
Comment 5 David Tardon 2010-07-27 04:15:34 EDT
This is most probably the same problem. The exception suggests there is a problem with an user installed extension. Are you sure you removed your ~/.openoffice.org (as you claim in step 2 in comment 0)? Could you pack ~/.openoffice.org/3/user/uno_packages/cache and attach it here? And you can add /usr/lib64/openoffice.org/share/uno_packages/cache and /usr/lib64/openoffice.org/extensions as well.
Comment 6 matti aarnio 2010-07-27 06:44:46 EDT
Created attachment 434655 [details]
Requested files from my system
Comment 7 matti aarnio 2010-07-27 06:55:53 EDT
The UNO library appears to be constructed so that it uses a _lot_ of exceptions in its normal operation.  Then in once case it bails out all the way to main program's top-level catcher.

In Java programming I do take advantage of java.lang.Throwable's built-in 
backtrace keeping.  Unfortunately on ANSI C++ there is no such a thing.
When a throw happens, its location is lost.

Fortunately GCC C++ can help us here:
  http://www.ibm.com/developerworks/linux/library/l-cppexcep.html

Right now (using ANSI C++ code) all we know is that the outermost exception catcher is here:

#8  0x00000038dd60d1aa in unopkg_main () at /usr/src/debug/OOO330_m1/desktop/source/pkgchk/unopkg/unopkg_app.cxx:650


643         catch (::com::sun::star::uno::Exception & e ) {
644             Any exc( ::cppu::getCaughtException() );
645      
646             dp_misc::writeConsoleError(
647                 OUSTR("\nERROR: ") +  
648                 OUString(option_verbose  ? e.Message + OUSTR("\nException details: \n") + 
649                 ::comphelper::anyToString(exc) : e.Message) +
650                 OUSTR("\n"));
651         }


It would be very handy, if that  ::com::sun::star::uno::Exception constructor would store backtrace and make it available here.
Comment 8 David Tardon 2010-07-27 07:04:01 EDT
It's caused by openoffice.org-voikko. I'm going to investigate further.

dtardon->matti.aarnio: If you uninstall openoffice.org-voikko (and possibly openoffice.org-writer2latex as well), oo.o should start without problems.
Comment 9 matti aarnio 2010-07-27 08:45:49 EDT
I removed both.  Things work.

Unfortunately I need voikko - the Finnish morphological spell checker.
This language has so "lovely" complexity in word formation.
Comment 10 David Tardon 2010-07-27 09:15:58 EDT
voikko's config.xcu contains "group" elements that can only be used in schemas. Old configuration parser parsed them in the same way as "node" elements, so the problem was not visible. The new parser is much stricter, so installation of the voikko extension results in nonfunctional openoffice.org.
Comment 11 David Tardon 2010-07-27 09:16:47 EDT
Created attachment 434686 [details]
fix the config
Comment 12 Ville-Pekka Vainio 2010-07-27 11:59:46 EDT
I've built the package with David's patch, thanks.
Comment 13 Ville-Pekka Vainio 2010-08-03 18:17:43 EDT
The upstream trac ticket for this issue is at http://sourceforge.net/apps/trac/voikko/ticket/16
David's patch is already in upstream SVN and will be in a bug fix release soon. Thanks for reporting this bug and finding out the cause.

Note You need to log in before you can comment on or make changes to this bug.