Issue 3565 - selecting any menu item from Bibliography database causes OpenOffice.org to crash
Summary: selecting any menu item from Bibliography database causes OpenOffice.org to c...
Status: CLOSED FIXED
Alias: None
Product: gsl
Classification: Code
Component: code (show other issues)
Version: 641
Hardware: PC Linux, all
: P1 (highest) Trivial (vote)
Target Milestone: next build
Assignee: sander_traveling
QA Contact: issues@dba
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2002-03-19 11:17 UTC by robert.kinsella
Modified: 2003-03-24 08:52 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments

Note You need to log in before you can comment on or make changes to this issue.
Description robert.kinsella 2002-03-19 11:17:38 UTC
Build 641D RedHat 6.2

Select tools - bibliography database.
A new window 'bibliography database' will be launched.

Select any item from the main menu bar e.g. File in the bibliography database
window
OpenOffice.org will crash.

possible related to issue 1721 ?.
Comment 1 Frank Schönheit 2002-03-19 11:50:07 UTC
"rkinsella",

just to be sure about the terminology: With "selecting", you really
mean clicking onto a menu entry? An entry which is expected to contain
a sub menu?
Or is "selecting" just moving the mouse over a poup menu (which
triggers a "selection", too, but is not the same as choosing the entry)?

This is an importance difference in terms of where this bug belongs to
.....

Frank
Comment 2 Martin Hollmichel 2002-03-19 12:14:30 UTC
maybe, does it also occur on the other platforms ?
Comment 3 robert.kinsella 2002-03-19 12:26:16 UTC
'Selecting' means user must click on e.g. File  for crash to occur
Comment 4 Frank Schönheit 2002-03-19 13:03:32 UTC
This means SO crashs when the popup menu is expected to come up. And
this means this bug belongs to the graphic system layer (as at this
moment, no bibligraphy specific code is invoked, yet).

Reassigning to graphic system layer (gsl) and the owner of that module.
Comment 5 Martin Hollmichel 2002-03-21 09:54:29 UTC
stack trace:
#1  0x409d7acc in pthread_kill () from /lib/libpthread.so.0
#2  0x409d7fd6 in raise () from /lib/libpthread.so.0
#3  0x40b53c81 in abort () from /lib/libc.so.6
#4  0x40c89ba5 in __cxxabiv1::__terminate(void (*)()) (
    handler=0x8057d20 <abort>)
    at ../../../../gcc-3.0.2/libstdc++-v3/libsupc++/eh_terminate.cc:47
#5  0x40c8a122 in ?? ()
    at ../../../../gcc-3.0.2/libstdc++-v3/libsupc++/eh_personality.cc:381
#6  0x080717d3 in _Unwind_RaiseException_Phase2 (exc=0x812f240, 
    context=0xbfffe280) at ../../gcc-3.0.2/gcc/unwind-dw2.c:1045
#7  0x08071bd0 in _Unwind_Resume (exc=0x812f240)
    at ../../gcc-3.0.2/gcc/unwind-dw2.c:1045
#8  0x426701de in cppu::any2bool(com::sun::star::uno::Any const&) ()
   from /tmp/mh93703/OpenOffice.org641/program/libsvx641li.so
#9  0x43ac0f6d in
framework::MenuManager::statusChanged(com::sun::star::frame::FeatureStateEvent
const&) ()
   from /tmp/mh93703/OpenOffice.org641/program/libfwk641li.so
#10 0x42a2de31 in
SfxDispatchController_Impl::addStatusListener(com::sun::star::uno::Reference<com::sun::star::frame::XStatusListener>
const&, com::sun::star::util::URL const&) () from
/tmp/mh93703/OpenOffice.org641/program/libsfx641li.so
#11 0x42a2cbdf in
SfxOfficeDispatch::addStatusListener(com::sun::star::uno::Reference<com::sun::star::frame::XStatusListener>
const&, com::sun::star::util::URL const&) () from
/tmp/mh93703/OpenOffice.org641/program/libsfx641li.so
#12 0x43ac4f60 in framework::MenuManager::Activate(Menu*) ()
   from /tmp/mh93703/OpenOffice.org641/program/libfwk641li.so
#13 0x43ac483d in framework::MenuManager::LinkStubActivate(void*,
void*) ()
   from /tmp/mh93703/OpenOffice.org641/program/libfwk641li.so
#14 0x402a86fe in Menu::Activate() ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#15 0x402ac033 in PopupMenu::ImplExecute(Window*, Rectangle const&,
unsigned long, Menu*, unsigned char) ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#16 0x402af1a0 in MenuBarWindow::ImplCreatePopup(unsigned char) ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#17 0x402af5bd in MenuBarWindow::ChangeHighlightItem(unsigned short,
unsigned char, unsigned char) ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#18 0x402af35a in MenuBarWindow::MouseButtonDown(MouseEvent const&) ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#19 0x402ded6d in ImplHandleMouseEvent(Window*, unsigned short,
unsigned char, long, long, unsigned long, unsigned short, unsigned
short) ()
   from /tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#20 0x402e0bf7 in ImplWindowFrameProc(void*, SalFrame*, unsigned
short, void const*) () from
/tmp/mh93703/OpenOffice.org641/program/libvcl641li.so
#21 0x40333504 in SalFrameData::HandleMouseEvent(_XEvent*) ()
Comment 6 sander_traveling 2002-03-21 15:25:23 UTC
I get more or less the same stack trace. on RH7 (except no unmangling) 
Comment 7 Martin Hollmichel 2002-03-21 20:29:57 UTC
It seems to be a compiler problem; 3.0.1 and 3.0.4 are ok, 3.0.2 is 
failing.
Comment 8 jens-heiner.rechtien 2002-03-26 18:50:36 UTC
I think I've found out what's going on here.

cppu::any2bool is used five time in svx:

dbaexchange.cxx eschesdo.cxx fmgridcl.cxx fmshimp.cxx msocximex.cxx

In all these cases gcc-3.0.1 creates 5 symbols with regard to the
IllegalArgumentException:

00000000 W _ZN3com3sun4star4lang24IllegalArgumentExceptionC1ERKS3_
00000000 W _ZN3com3sun4star4lang24IllegalArgumentExceptionC1Ev
00000000 W _ZN3com3sun4star4lang24IllegalArgumentExceptionD1Ev
00000000 V _ZTIN3com3sun4star4lang24IllegalArgumentExceptionE
00000000 V _ZTSN3com3sun4star4lang24IllegalArgumentExceptionE

Please note the two first symbols, these are the default ctor and the
copy ctor. I think they are generated because cppu::any2bool is a
inline method which throws exceptions (and has to create the exception
in the first place).

There are many places where IllegalArgumentExceptions are used in svx,
but all other object files need only the last 3 symbols (dtor and
typeinfo).

I've compiled the mentioned five files with gcc-3.0.3 and the ctor
symbols are missing. The resulting svx library exhibits the
bibliography failure. Recompiling with gcc-3.0.1 brings the symbols
back and everything works.

Either the gcc exception handling has changed again with gcc-3.0.2 or
the newer versions are broken.

Comment 9 Martin Hollmichel 2002-03-27 07:15:25 UTC
I compiled OOO_STABLE_1 last night with gcc-3.0.4 and binutils 2.12.
biblio is running, and if I look into the object files I still see
only the last the symbols exported, but it is still running.
Comment 10 jens-heiner.rechtien 2002-03-27 14:04:15 UTC
Ok, that leaves only one conclusion. The details of exception handling
have changed from gcc-3.0.1 to gcc-3.0.2. Newer binutils are needed to
take care that the exceptions are still delivered correctly.

Binutils-2.12 have been verified to work with at least gcc-3.0.4
Comment 11 Martin Hollmichel 2002-04-05 08:28:28 UTC
fixed with 3.04 and binutils 2.12. 
Comment 12 michael.bemmer 2003-03-24 08:38:08 UTC
As agreed on I will close these resolved fixed issues now. If you have trouble
with that, please re-open the issue.
Comment 13 michael.bemmer 2003-03-24 08:52:17 UTC
As agreed on I will close these resolved fixed issues now. If you have trouble
with that, please re-open the issue.