Bug 48134 - osl_incrementInterlockedCount() SIGSEGV on NetBSD and OpenBSD
Summary: osl_incrementInterlockedCount() SIGSEGV on NetBSD and OpenBSD
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
3.5 Daily
Hardware: x86-64 (AMD64) OpenBSD
: medium major
Assignee: Not Assigned
URL:
Whiteboard: target:3.6.5
Keywords:
Depends on:
Blocks:
 
Reported: 2012-03-31 14:14 UTC by Robert Nagy
Modified: 2013-01-08 11:52 UTC (History)
5 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Robert Nagy 2012-03-31 14:14:51 UTC
Hi,

The following crash happens in the libreoffice-3-5 branch but not in master,
on the same system.
Unfortunately after 2 days of trying to figure out what fixed this in master,
I was not able to find anything.

#0  0x000000020f75528f in osl_incrementInterlockedCount (pCount=0x200000000) at interlck.c:65
65              return __sync_add_and_fetch (pCount, 1);
(gdb) bt
#0  0x000000020f75528f in osl_incrementInterlockedCount (pCount=0x200000000) at interlck.c:65
#1  0x00000002049824ac in typelib_typedescriptionreference_acquire () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppu.so.3
#2  0x000000020497ef10 in typelib_typedescription_newMIInterface () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppu.so.3
#3  0x0000000208c604f3 in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#4  0x0000000208c6116f in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#5  0x0000000208c6027d in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#6  0x0000000208c6116f in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#7  0x0000000208c6027d in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#8  0x0000000208c6116f in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#9  0x0000000208c6145c in cppu::writeSharedLibComponentInfo () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppuhelpergcc3.so.3
#10 0x0000000204984a48 in typelib_typedescription_complete () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppu.so.3
#11 0x000000020497cfbf in typelib_typedescription_revokeCallback () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppu.so.3
#12 0x0000000204983046 in typelib_typedescription_complete () from /home/robert/libo/solver/unxobsd.pro/lib/libuno_cppu.so.3
#13 0x000000020e9364d9 in uno_ext_getMapping () from /home/robert/libo/solver/unxobsd.pro/lib/libgcc3_uno.so
Comment 1 Robert Nagy 2012-04-01 02:46:17 UTC
A better trace:

#0  0x0000000200616cb5 in osl_incrementInterlockedCount (pCount=0x200000000) at interlck.c:65
65              return __sync_add_and_fetch (pCount, 1);
(gdb) bt
#0  0x0000000200616cb5 in osl_incrementInterlockedCount (pCount=0x200000000) at interlck.c:65
#1  0x000000020406853e in typelib_typedescriptionreference_acquire (pRef=<optimized out>) at /home/robert/libo/cppu/source/typelib/typelib.cxx:2387
#2  0x000000020406ce73 in typelib_typedescription_newMIInterface (ppRet=0x7f7ffffd1628, pTypeName=<optimized out>, nUik1=0, nUik2=<optimized out>, 
    nUik3=<optimized out>, nUik4=<optimized out>, nUik5=0, nBaseInterfaces=0, ppBaseInterfaces=0x203d6acc0, nMembers=3, ppMembers=0x7f7ffffd1550)
    at /home/robert/libo/cppu/source/typelib/typelib.cxx:1234
#3  0x0000000209e96559 in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:470
#4  0x0000000209e95951 in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:660
#5  0x0000000209e963aa in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:431
#6  0x0000000209e95951 in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:660
#7  0x0000000209e963aa in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:431
#8  0x0000000209e95951 in cppu::createCTD (access=..., xType=...) at /home/robert/libo/cppuhelper/source/tdmgr.cxx:660
#9  0x0000000209e9625f in cppu::typelib_callback (pContext=<optimized out>, ppRet=0x7f7ffffd1f38, pTypeName=0x204ad1d80)
    at /home/robert/libo/cppuhelper/source/tdmgr.cxx:702
#10 0x000000020406bb7b in callChain (pName=0x204ad1d80, ppRet=0x7f7ffffd1f38, this=0x204498be0) at /home/robert/libo/cppu/source/typelib/typelib.cxx:260
#11 (anonymous namespace)::complete (ppTypeDescr=0x20eaba930, initTables=true) at /home/robert/libo/cppu/source/typelib/typelib.cxx:515
#12 0x000000020406bdb2 in typelib_typedescription_complete (ppTypeDescr=<optimized out>) at /home/robert/libo/cppu/source/typelib/typelib.cxx:2660
#13 0x000000020c31a5c9 in bridges::cpp_uno::shared::UnoInterfaceProxy::UnoInterfaceProxy (this=0x20eaba900, pBridge_=<optimized out>, pCppI_=<optimized out>, 
    pTypeDescr_=<optimized out>, rOId_=...) at /home/robert/libo/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:123
#14 0x000000020c31a63a in bridges::cpp_uno::shared::UnoInterfaceProxy::create (pBridge=0x2044a9200, pCppI=0x20e335e28, pTypeDescr=0x203942500, 
    rOId=<error reading variable: Converting character sets: No such file or directory.>)
    at /home/robert/libo/bridges/source/cpp_uno/shared/unointerfaceproxy.cxx:105
#15 0x000000020c318edf in bridges::cpp_uno::shared::cpp2unoMapping (pMapping=<optimized out>, ppUnoI=0x7f7ffffd2070, pCppI=0x20e335e28, pTypeDescr=0x203942500)
    at /home/robert/libo/bridges/source/cpp_uno/shared/bridge.cxx:96
#16 0x0000000200f4bddb in mapInterface (rType=invalid uno::Type, pInterface=0x20e335e28, ppOut=0x7f7ffffd2070, this=0x7f7ffffd2080)
    at /home/robert/libo/solver/unxobsd.pro/inc/uno/mapping.hxx:280
#17 bridge_test::makeSurrogate<test::testtools::bridgetest::XBridgeTest> (rOut=..., rOriginal=...)
    at /home/robert/libo/testtools/source/bridgetest/bridgetest.cxx:1128
#18 0x0000000200f487ef in bridge_test::TestBridgeImpl::run (this=0x20fa8da40, rArgs=...) at /home/robert/libo/testtools/source/bridgetest/bridgetest.cxx:1224
#19 0x000000000040c2ea in sal_main_with_args (argc=<optimized out>) at /home/robert/libo/cpputools/source/unoexe/unoexe.cxx:866
#20 0x000000000042468f in main (argc=9, argv=<optimized out>) at /home/robert/libo/cpputools/source/unoexe/unoexe.cxx:613
Comment 2 Robert Nagy 2012-04-01 07:28:58 UTC
Actually I think I found out what the issue is.

In master -std=gnu++0x is being used while in libreoffice-3-5 we use -std=c++0x.
Changing the flag in solenv/inc/unxgcc.mk to -std=gnu++0x, seems to fix this issue.
Comment 3 Michael Meeks 2012-04-02 14:07:59 UTC
So - we got a concrete question, and a concrete answer to this ?
Comment 4 Julien Nabet 2013-01-03 22:30:51 UTC
Any update with 3.6, 4.0 or master (future 4.1)?
Comment 5 Caolán McNamara 2013-01-08 11:52:18 UTC
Given http://cgit.freedesktop.org/libreoffice/core/commit/?id=1cf7ab61a71d4b7295942ff5c855896e60c15081 appears in the 3-6 series, lets close this as fixed in 3-6