Description of problem: A database migrated from Fedora 10 stopped working. Running a macro SIGSEGVs. Version-Release number of selected component (if applicable): openoffice.org-core-3.1.1-19.12.fc11.i586 How reproducible: Always both from oobase and from oowriter (others not tried). Examples here are from oowriter (the macro accesses the database as a registered data source). Running from oobase, Java catches the bug. Steps to Reproduce: 1. Open, for example, a writer window 2. Select Tools->Macros and select the macro 3. Execute Actual results: This report: (I) x.org loaded video driver of... (WW) AllowEmptyInput is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled. (II) Loading /usr/lib/xorg/modules/drivers//vboxvideo_drv.so (II) Loading /usr/lib/xorg/modules/drivers//ati_drv.so (--) Depth 24 pixmap format is 32 bpp (III) Desktop is: GNOME (IV) openoffice.org-kde version is: el paquete openoffice.org-kde no está instalado (V) libgcj version is: libgcj-4.4.1-2.fc11-i586 (VI) kernel is: Linux 2.6.30.10-105.2.23.fc11.i586 #1 SMP Thu Feb 11 06:51:26 UTC 2010 i686 i686 i386 (VII) OpenOffice.org core rpm version is: openoffice.org-core-3.1.1-19.12.fc11-i586 (VIII) accessibility is: false (IX) gtk theme is: Nodoka (X) icon theme is: Fedora (XI) metacity theme is: Nodoka (XII) fedora release is: Fedora release 11 (Leonidas) (XIII) LANG is: es_ES.UTF-8 ...start free space details ... S.ficheros Bloques de 1K Usado Dispon Uso% Montado en /dev/sdb1 25798684 16926576 7561608 70% /home /dev/mapper/VolGroup00-LogVol00 10256632 8644720 1090904 89% / ...end free space details ... ...start (default) java details ... java version "1.6.0_19" Java(TM) SE Runtime Environment (build 1.6.0_19-b04) Java HotSpot(TM) Client VM (build 16.2-b04, mixed mode, sharing) ...end (default) java details ... ...start sestatus details ... SELinux status: enabled SELinuxfs mount: /selinux Current mode: enforcing Mode from config file: enforcing Policy version: 24 Policy from config file: targeted ...end sestatus details ... ...start stackreport details ... 0x2c8e3a: 0x1c04c0: /usr/lib/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x20e3a 0x2c9781: 0x1c04c0: /usr/lib/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x21781 0xc28400: 0x0: + 0x400 (__kernel_sigreturn + 0x0) 0xc28422: 0x0: + 0x422 (__kernel_vsyscall + 0x2) 0x8ef781: 0x16bd7c: /lib/libc.so.6 + 0x2b781 (gsignal + 0x51) 0x8f104a: 0x16bd7c: /lib/libc.so.6 + 0x2d04a (abort + 0x17a) 0xb13a54c6: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x33b4c6 0xb1481acc: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x417acc 0xb14826d1: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x4186d1 0xc28410: 0x0: + 0x410 (__kernel_rt_sigreturn + 0x0) 0xb1481ae5: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x417ae5 0xb13abe6c: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x341e6c (JVM_handle_linux_signal + 0x21c) 0xb13a8094: 0x4a1514: /usr/java/jdk1.6.0_19/jre/lib/i386/client/libjvm.so + 0x33e094 0xc28410: 0x0: + 0x410 (__kernel_rt_sigreturn + 0x0) 0x2cb144: 0x1c04c0: /usr/lib/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x23144 0x2c7237: 0x1c04c0: /usr/lib/openoffice.org3/program/../basis-link/ure-link/lib/libuno_sal.so.3 + 0x1f237 (osl_createDirectory + 0x36) 0x3377e74: 0x4d730: /usr/lib/openoffice.org3/program/../basis-link/program/libucpfile1.so + 0x19e74 0x33781d9: 0x4d730: /usr/lib/openoffice.org3/program/../basis-link/program/libucpfile1.so + 0x1a1d9 0x336c864: 0x4d730: /usr/lib/openoffice.org3/program/../basis-link/program/libucpfile1.so + 0xe864 0x336d32d: 0x4d730: /usr/lib/openoffice.org3/program/../basis-link/program/libucpfile1.so + 0xf32d 0xa78dcc: 0x6d4ec: /usr/lib/openoffice.org3/program/../basis-link/program/libucbhelper4gcc3.so + 0x1adcc 0xa799b5: 0x6d4ec: /usr/lib/openoffice.org3/program/../basis-link/program/libucbhelper4gcc3.so + 0x1b9b5 (ucbhelper::Content::executeCommand(rtl::OUString const&, com::sun::star::uno::Any const&) + 0x51) 0x30cda45: 0xe87c: /usr/lib/openoffice.org3/program/../basis-link/program/libfileacc.so + 0x6a45 0x31bd8cb: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xcb8cb (SbiStream::Open(short, ByteString const&, short, short, short) + 0x327) 0x31bdbd4: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xcbbd4 (SbiIoSystem::Open(short, ByteString const&, short, short, short) + 0xa4) 0x31b91a3: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc71a3 (SbiRuntime::StepOPEN(unsigned long, unsigned long) + 0x9d) 0x31b30fc: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc10fc (SbiRuntime::Step() + 0x228) 0x3169e1b: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x77e1b (SbModule::Run(SbMethod*) + 0x39b) 0x316a128: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x78128 (SbModule::Notify(SfxBroadcaster&, SfxHint const&) + 0x118) 0x594c59: 0xf41d4: /usr/lib/openoffice.org3/program/../basis-link/program/libsvlli.so + 0x97c59 (SfxBroadcaster::Broadcast(SfxHint const&) + 0x2b) 0x316875d: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x7675d (SbMethod::Broadcast(unsigned long) + 0x147) 0x31d64a6: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xe44a6 (SbxValue::SbxValue(SbxValue const&) + 0xa8) 0x31d98f5: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xe78f5 (SbxVariable::SbxVariable(SbxVariable const&) + 0x2b) 0x31bb64b: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc964b 0x31bb134: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc9134 (SbiRuntime::FindElement(SbxObject*, unsigned long, unsigned long, unsigned long, unsigned char, unsigned char) + 0x51c) 0x31bb322: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc9322 (SbiRuntime::StepFIND_Impl(SbxObject*, unsigned long, unsigned long, unsigned long, unsigned char, unsigned char) + 0x80) 0x31bb417: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc9417 (SbiRuntime::StepFIND(unsigned long, unsigned long) + 0x2d) 0x31b30fc: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xc10fc (SbiRuntime::Step() + 0x228) 0x3169e1b: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x77e1b (SbModule::Run(SbMethod*) + 0x39b) 0x316a128: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x78128 (SbModule::Notify(SfxBroadcaster&, SfxHint const&) + 0x118) 0x594c59: 0xf41d4: /usr/lib/openoffice.org3/program/../basis-link/program/libsvlli.so + 0x97c59 (SfxBroadcaster::Broadcast(SfxHint const&) + 0x2b) 0x316875d: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0x7675d (SbMethod::Broadcast(unsigned long) + 0x147) 0x31d5ea0: 0x169610: /usr/lib/openoffice.org3/program/../basis-link/program/libsbli.so + 0xe3ea0 (SbxValue::Get(SbxValues&) const + 0x6e) 0x3f66be1: 0x100e10: /usr/lib/openoffice.org/basis3.1/program/libbasctlli.so + 0x56be1 0x3f71f95: 0x100e10: /usr/lib/openoffice.org/basis3.1/program/libbasctlli.so + 0x61f95 0x4e9670a: 0x3852ec: /usr/lib/openoffice.org3/program/../basis-link/program/libvclli.so + 0x20670a 0x2e2f1eb: 0x7c4e8: /usr/lib/openoffice.org/basis3.1/program/libvclplug_genli.so + 0x481eb (SalDisplay::DispatchInternalEvent() + 0x97) 0x21befab: 0x4f1e8: /usr/lib/openoffice.org/basis3.1/program/libvclplug_gtkli.so + 0x11fab 0x7245531: 0xde050: /lib/libglib-2.0.so.0 + 0x33531 0x7247308: 0xde050: /lib/libglib-2.0.so.0 + 0x35308 (g_main_context_dispatch + 0x1f8) 0x724a9e0: 0xde050: /lib/libglib-2.0.so.0 + 0x389e0 0x724ab13: 0xde050: /lib/libglib-2.0.so.0 + 0x38b13 (g_main_context_iteration + 0x73) 0x21bf073: 0x4f1e8: /usr/lib/openoffice.org/basis3.1/program/libvclplug_gtkli.so + 0x12073 0x2e35779: 0x7c4e8: /usr/lib/openoffice.org/basis3.1/program/libvclplug_genli.so + 0x4e779 (X11SalInstance::Yield(bool, bool) + 0x2f) 0x4d2195a: 0x3852ec: /usr/lib/openoffice.org3/program/../basis-link/program/libvclli.so + 0x9195a (Application::Yield(bool) + 0x5c) 0x4d219a9: 0x3852ec: /usr/lib/openoffice.org3/program/../basis-link/program/libvclli.so + 0x919a9 (Application::Execute() + 0x2b) 0xcffef5: 0x63b60: /usr/lib/openoffice.org3/program/../basis-link/program/libsofficeapp.so + 0x18ef5 0x4d25aab: 0x3852ec: /usr/lib/openoffice.org3/program/../basis-link/program/libvclli.so + 0x95aab 0x4d25c43: 0x3852ec: /usr/lib/openoffice.org3/program/../basis-link/program/libvclli.so + 0x95c43 (SVMain() + 0x2c) 0xd241a8: 0x63b60: /usr/lib/openoffice.org3/program/../basis-link/program/libsofficeapp.so + 0x3d1a8 (soffice_main + 0xd0) 0x80487c4: 0xd04: /usr/lib/openoffice.org3/program/swriter.bin + 0x7c4 (main + 0x20) 0x8daa86: 0x16bd7c: /lib/libc.so.6 + 0x16a86 (__libc_start_main + 0xe6) 0x8048711: 0xd04: /usr/lib/openoffice.org3/program/swriter.bin + 0x711 ...end stackreport details ... ...start sample ldd details ... linux-gate.so.1 => (0x00d7e000) libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00110000) libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00553000) libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x009c2000) libgio-2.0.so.0 => /lib/libgio-2.0.so.0 (0x00935000) libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00c9e000) libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00e23000) libpangocairo-1.0.so.0 => /usr/lib/libpangocairo-1.0.so.0 (0x005f5000) libcairo.so.2 => /usr/lib/libcairo.so.2 (0x00600000) libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x0067b000) libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0079b000) libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x008d3000) libgmodule-2.0.so.0 => /lib/libgmodule-2.0.so.0 (0x00a64000) libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x006c1000) librt.so.1 => /lib/librt.so.1 (0x006c6000) libdbus-glib-1.so.2 => /usr/lib/libdbus-glib-1.so.2 (0x006cf000) libdbus-1.so.3 => /lib/libdbus-1.so.3 (0x006ee000) libgobject-2.0.so.0 => /lib/libgobject-2.0.so.0 (0x0082d000) libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0x00a68000) libvclplug_genli.so => /usr/lib/openoffice.org/basis3.1/program/libvclplug_genli.so (0x009df000) libvclli.so => /usr/lib/openoffice.org/basis3.1/program/libvclli.so (0x00e40000) libpspli.so => /usr/lib/openoffice.org/basis3.1/program/libpspli.so (0x00b47000) libsotli.so => /usr/lib/openoffice.org/basis3.1/program/libsotli.so (0x00c25000) libutlli.so => /usr/lib/openoffice.org/basis3.1/program/libutlli.so (0x00cc8000) libtlli.so => /usr/lib/openoffice.org/basis3.1/program/libtlli.so (0x00d7f000) libcomphelp4gcc3.so => /usr/lib/openoffice.org/basis3.1/program/libcomphelp4gcc3.so (0x0521b000) libucbhelper4gcc3.so => /usr/lib/openoffice.org/basis3.1/program/libucbhelper4gcc3.so (0x02ff8000) libuno_cppuhelpergcc3.so.3 => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libuno_cppuhelpergcc3.so.3 (0x07591000) libuno_cppu.so.3 => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libuno_cppu.so.3 (0x0086e000) libvos3gcc3.so => /usr/lib/openoffice.org/basis3.1/program/libvos3gcc3.so (0x00906000) libuno_sal.so.3 => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libuno_sal.so.3 (0x04b1a000) libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0072f000) libX11.so.6 => /usr/lib/libX11.so.6 (0x01e16000) libXext.so.6 => /usr/lib/libXext.so.6 (0x008c2000) libdl.so.2 => /lib/libdl.so.2 (0x00737000) libpthread.so.0 => /lib/libpthread.so.0 (0x00c83000) libstlport_gcc.so => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libstlport_gcc.so (0x06b25000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x06f71000) libm.so.6 => /lib/libm.so.6 (0x00d50000) libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x03a7c000) libc.so.6 => /lib/libc.so.6 (0x06759000) libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0073c000) libXrender.so.1 => /usr/lib/libXrender.so.1 (0x00929000) libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x00741000) libXi.so.6 => /usr/lib/libXi.so.6 (0x009af000) libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x05676000) libXcomposite.so.1 => /usr/lib/libXcomposite.so.1 (0x0089a000) libXdamage.so.1 => /usr/lib/libXdamage.so.1 (0x0089d000) libselinux.so.1 => /lib/libselinux.so.1 (0x03d99000) libpng12.so.0 => /usr/lib/libpng12.so.0 (0x04ff2000) libpixman-1.so.0 => /usr/lib/libpixman-1.so.0 (0x02377000) libz.so.1 => /lib/libz.so.1 (0x02213000) libexpat.so.1 => /lib/libexpat.so.1 (0x04e00000) /lib/ld-linux.so.2 (0x008a1000) libcap.so.2 => /lib/libcap.so.2 (0x009b9000) libi18npaperli.so => /usr/lib/openoffice.org/basis3.1/program/libi18npaperli.so (0x00d78000) libbasegfxli.so => /usr/lib/openoffice.org/basis3.1/program/libbasegfxli.so (0x07f5c000) libSM.so.6 => /usr/lib/libSM.so.6 (0x01e06000) libICE.so.6 => /usr/lib/libICE.so.6 (0x061e5000) libi18nisolang1gcc3.so => /usr/lib/openoffice.org/basis3.1/program/libi18nisolang1gcc3.so (0x011cd000) libi18nutilgcc3.so => /usr/lib/openoffice.org/basis3.1/program/libi18nutilgcc3.so (0x05931000) libicuuc.so.40 => /usr/lib/libicuuc.so.40 (0x01bdd000) libicudata.so.40 => /usr/lib/libicudata.so.40 (0xb6a10000) libicule.so.40 => /usr/lib/libicule.so.40 (0x06dd3000) libjvmaccessgcc3.so.3 => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libjvmaccessgcc3.so.3 (0x027e9000) libuno_salhelpergcc3.so.3 => /usr/lib/openoffice.org/basis3.1/program/../ure-link/lib/libuno_salhelpergcc3.so.3 (0x009be000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x0210f000) libxcb.so.1 => /usr/lib/libxcb.so.1 (0x011d3000) libXau.so.6 => /usr/lib/libXau.so.6 (0x00932000) libattr.so.1 => /lib/libattr.so.1 (0x011ef000) libuuid.so.1 => /lib/libuuid.so.1 (0x043e6000) libfreebl3.so => /lib/libfreebl3.so (0x05ab7000) ...end sample ldd details ... Expected results: An output salida.ged file Additional info: These macros generate GEDCOM from a database and are rather long. I can upload them if necessary.
Yeah, if you can upload the testcase basic that causes this crash, that would help a lot.
Created attachment 405529 [details] Testcase script I was able to create a very short script that triggers the crash. In fact it contains no database connection or anything. Hope you can reproduce the crash with this.
Excellent, yes that reproduces it
what the!, it crashes on pustrPath->buffer[pustrPath->length] = of the below code, but pustrPath->length is 0 before entry to that block, so there's no way it should have entered the loop. "Wiggling" the code by e.g. adding some printfs inside the loop makes it go away :-( while ((pustrPath->length > 1) && (FPH_CHAR_PATH_SEPARATOR == pustrPath->buffer[pustrPath->length - 1])) { pustrPath->length--; pustrPath->buffer[pustrPath->length] = (sal_Unicode)'\0'; } Most odd, lets see if I can cook up a standalone demo
*** Bug 561465 has been marked as a duplicate of this bug. ***
*** Bug 556627 has been marked as a duplicate of this bug. ***
This at least explains where those other impossible osl_systemPathRemoveSeparator calls came from
Created attachment 405571 [details] source code compile with: g++ -g -Os -fpic -c suspicious.cxx
Is what pustrPath points to in .rodata section? That would be the only issue I could imagine here. GCC seems to in this case write to pustrPath->length at the end of the loop unconditionally (writes the same value as there was if the loop isn't entered). This is certainly disallowed by the new C++0x memory model, but am not sure if it is necessarily invalid before (except for OpenMP where it is invalid too).
Incidentally, that is GCC PR43560 that is fixed in gcc-4.4.3-16.{fc12,fc13,fc14,el6}. So if the problem is that you are calling osl_systemPathRemoveSeparator on something like: const rtl_uString empty_string = { 0, 0 }; then that should be fixed now.
Yeah, that's the problem. The "empty unicode string" case in OOo is a shared static rtl_uString const aImplEmpty_rtl_uString which is in the ro section, so that write back to the length clobbers OOo. So this will go away on F-12+ after a rebuild with a gcc >= 4.4.3-16. I'll unconst it for F-11, and hope to get a chance to rebuild on the others when those gcc's are available.
Created attachment 405919 [details] script inside a .odt
gcc-4.4.3-16.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/gcc-4.4.3-16.fc13
gcc-4.4.3-16.fc13 has been pushed to the Fedora 13 testing repository. If problems still persist, please make note of it in this bug report. If you want to test the update, you can install it with su -c 'yum --enablerepo=updates-testing update gcc'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/gcc-4.4.3-16.fc13
On QA? Well, I don't think the gcc package in testing does much for OOo users, right? I mean, if I download it, will my problem be fixed?
Re: #15. No, it won't fix your problem to download gcc. Bear with us a bit, we would like to get this gcc fix into e.g. F-13 before its released and rebuild OOo with it to fix this for F-13 as well as OOo rebuilds for F-12. For your F-11 specific crash, that'll happen on the next OOo update for F-11, which is scheduled soonish too.
gcc-4.4.3-16.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
openoffice.org-3.2.0-12.16.fc13 has been submitted as an update for Fedora 13. http://admin.fedoraproject.org/updates/openoffice.org-3.2.0-12.16.fc13
openoffice.org-3.2.0-12.16.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
*** Bug 586265 has been marked as a duplicate of this bug. ***
*** Bug 605405 has been marked as a duplicate of this bug. ***
dtardon->jakub: The latest gcc update for F-12 was gcc-4.4.3-4.fc12 at the end of January. Is there going to be another update?