Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 17 Oct 2002 12:01:43 +0200 (CEST)
From:      Martin Blapp <mb@imp.ch>
To:        <dev@porting.openoffice.org>
Cc:        <openoffice@freebsd.org>, <kan@freebsd.org>, <kevin.hendricks@sympatico.ca>
Subject:   FreeBSD: OOo 1.01 Mutex.acquire crash in File -> Autopilot -> Formular
Message-ID:  <20021017105402.N90671-100000@levais.imp.ch>
In-Reply-To: <Pine.LNX.4.44.0210171019580.5124-100000@thalys.mandrakesoft.com>

next in thread | previous in thread | raw e-mail | index | archive | help


Hi all,

Has someone else seen this on other platforms ?

All other autopilot function do work.

There is not bug report in GNATS about this crash.

Maybe this is already fixed in 643 tree ? I'm working now to get
643 running here, so I can submit patches again and remove the obsoleted
gnats reports I sent.

Program received signal SIGSEGV, Segmentation fault.
#0  0x00000000 in ?? ()
#1  0x2ad315d2 in VCLXFixedText::getPreferredSize() (this=0xbfbfe4d4)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/toolkit/source/awt/vclxwindows.cxx:1974
#2  0x2b7c7cdd in Lcopy ()
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:100
#3  0x2b7c81ec in cpp_call (pThis=0x2d31aba8, nVtableCall=4,
pReturnTypeRef=0x2ce85620, nParams=0, pParams=0x0,
    pUnoReturn=0xbfbfe4e0, pUnoArgs=0xbfbfe4e0, ppUnoExc=0xbfbfe548)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:266
#4  0x2b7c88d3 in gcc3::cppu_unoInterfaceProxy_dispatch(_uno_Interface*,
_typelib_TypeDescription const*, void*, void**, _uno_Any**) (pUnoI=0x2d31aba8,
pMemberDescr=0x2d0f0990, pReturn=0xbfbfe4e0, pArgs=0xbfbfe4e0,
    ppException=0xbfbfe548)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:427
#5  0x2cb44602 in
stoc_corefl::IdlInterfaceMethodImpl::invoke(com::sun::star::uno::Any const&,
com::sun::star::uno::Sequence<com::sun::star::uno::Any>&) () from
/usr/local/OpenOffice.org1.0/program/libcorefl.so
#6  0x2cb17e19 in
stoc_inspect::IntrospectionAccessStatic_Impl::getPropertyValueByIndex(com::sun::star::uno::Any
const&, long) const () from /usr/local/OpenOffice.org1.0/program/libinsp.so
#7  0x2cb17b45 in
stoc_inspect::IntrospectionAccessStatic_Impl::getPropertyValue(com::sun::star::uno::Any
const&, rtl::OUString const&) const () from
/usr/local/OpenOffice.org1.0/program/libinsp.so
#8  0x2cb1af58 in
stoc_inspect::ImplIntrospectionAdapter::getPropertyValue(rtl::OUString const&)
()
   from /usr/local/OpenOffice.org1.0/program/libinsp.so
#9  0x2ab1fff8 in SbUnoObject::Notify(SfxBroadcaster&, SfxHint const&) ()
   from /usr/local/OpenOffice.org1.0/program/libsb641fi.so
#10 0x2816a7fe in SfxBroadcaster::Broadcast(SfxHint const&) ()
   from /usr/local/OpenOffice.org1.0/program/libsvl641fi.so

(gdb) frame 1
#1  0x2ad315d2 in VCLXFixedText::getPreferredSize() (this=0xbfbfe4d4)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/toolkit/source/awt/vclxwindows.cxx:1974
1974            return getMinimumSize();
(gdb) list
1969            return AWTSize(aSz);
1970    }
1971
1972    ::com::sun::star::awt::Size VCLXFixedText::getPreferredSize(  )
throw(::com::sun::star::uno::RuntimeException)
1973    {
1974            return getMinimumSize();
1975    }
1976
1977    ::com::sun::star::awt::Size VCLXFixedText::calcAdjustedSize( const
::com::sun::star::awt::Size& rNewSize )
throw(::com::sun::star::uno::RuntimeException)

Then I tried to set breakpoints ... I hit Breakpoint 2 many times ... and the
last one showed like.

Breakpoint 2, cpp_call (pThis=0x2d31a8e8, nVtableCall=4,
pReturnTypeRef=0x2ce8bf68, nParams=0, pParams=0x0,
    pUnoReturn=0xbfbfe4e0, pUnoArgs=0xbfbfe4e0, ppUnoExc=0xbfbfe548)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:266
266                     callVirtualMethod(
(gdb) c
Continuing.

Breakpoint 1, VCLXFixedText::getPreferredSize() (this=0xbfbfe4d4)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/toolkit/source/awt/vclxwindows.cxx:1974
1974            return getMinimumSize();

(gdb) p VCLXFixedText::getPreferredSize
$12 = (Size ( VCLXFixedText::&)) -2147483636
(gdb) p this
$13 = (VCLXFixedText * const) 0xbfbfe4d4
(gdb) p 0xbfbfe4d4
$14 = 3217024212

(gdb) p getMinimumSize
can't find linker symbol for virtual table for `VCLXFixedText' value

(gdb) p VCLXFixedText::getMinimumSize
$15 = (Size ( VCLXFixedText::&)) -2147483637

If I change line 1974 to show like VCLXFixedText::getMinimumSize, it crashes
later, still in the same namespace. I think if I change all these functions, it
will work.

Is this normal ? gcc error ?

Maybe -frtti is needed ? I compiled the library with -f rtti and the trace got
better ... See below ...

Program received signal SIGSEGV, Segmentation fault.
0x2ad49197 in OGuard (this=0xbfbfe2d8, rMutex=@0x80625b6)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/solver/641/unxfbsd.pro/inc/vos/mutex.hxx:167
167                     m_rMutex.acquire();
Current language:  auto; currently c++
(gdb) list
162                     m_rMutex.acquire();
163             }
164             OGuard(IMutex & rMutex)
165                     : m_rMutex( rMutex )
166             {
167                     m_rMutex.acquire();
168             }
169
170             /** Releases mutex. */
171             virtual ~OGuard()

#0  0x2ad49197 in OGuard (this=0xbfbfe2d8, rMutex=@0x80625b6)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/solver/641/unxfbsd.pro/inc/vos/mutex.hxx:167
#1  0x2ad7d89e in VCLXFixedText::getMinimumSize() (this=0xbfbfe4d4)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/toolkit/source/awt/vclxwindows.cxx:1963
#2  0x2ad7d99c in VCLXFixedText::getPreferredSize() (this=0xbfbfe4d4)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/toolkit/source/awt/vclxwindows.cxx:1974
#3  0x2b832cdd in Lcopy ()
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:100
#4  0x2b8331ec in cpp_call (pThis=0x2d38d498, nVtableCall=4,
pReturnTypeRef=0x2d0fac48, nParams=0, pParams=0x0,
    pUnoReturn=0xbfbfe4e0, pUnoArgs=0xbfbfe4e0, ppUnoExc=0xbfbfe548)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:266
#5  0x2b8338d3 in gcc3::cppu_unoInterfaceProxy_dispatch(_uno_Interface*,
_typelib_TypeDescription const*, void*, void**, _uno_Any**) (pUnoI=0x2d38d498,
pMemberDescr=0x2d162148, pReturn=0xbfbfe4e0, pArgs=0xbfbfe4e0,
    ppException=0xbfbfe548)
    at
/usr/ports/german/openoffice/work/oo_1.0.1_src/bridges/source/cpp_uno/gcc3_freebsd_intel/uno2cpp.cxx:427

Martin

Martin Blapp, <mb@imp.ch> <mbr@FreeBSD.org>
------------------------------------------------------------------
ImproWare AG, UNIXSP & ISP, Zurlindenstrasse 29, 4133 Pratteln, CH
Phone: +41 061 826 93 00: +41 61 826 93 01
PGP: <finger -l mbr@freebsd.org>
PGP Fingerprint: B434 53FC C87C FE7B 0A18 B84C 8686 EF22 D300 551E
------------------------------------------------------------------




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-openoffice" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021017105402.N90671-100000>