Bug 236333 - OOo Basic IDE - crashes while watching a variable
Summary: OOo Basic IDE - crashes while watching a variable
Keywords:
Status: CLOSED UPSTREAM
Alias: None
Product: Fedora
Classification: Fedora
Component: openoffice.org
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Caolan McNamara
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2007-04-13 08:56 UTC by Jan Navratil
Modified: 2007-11-30 22:12 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-04-13 10:46:17 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
testing macro library (3.46 KB, application/x-gzip)
2007-04-13 09:11 UTC, Jan Navratil
no flags Details


Links
System ID Private Priority Status Summary Last Updated
OpenOffice.org 76336 0 None None None Never

Description Jan Navratil 2007-04-13 08:56:41 UTC
I selected a variable that I want to watch. It was a structured variable that
contains some other properties, so if I tried to click on '+' sign to expand it,
I got the crash report below.
I'm going to attach a testing file to reproduce as soon as possible. I need to
prepare it.

(I)    x.org loaded video driver of...
(II) Loading /usr/lib64/xorg/modules/drivers/ati_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers/vesa_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers/vga_drv.so
(II) Loading /usr/lib64/xorg/modules/drivers/radeon_drv.so
(II) Unloading /usr/lib64/xorg/modules/drivers/fbdev_drv.so
(II) Unloading /usr/lib64/xorg/modules/drivers/vesa_drv.so
(II) Unloading /usr/lib64/xorg/modules/drivers/vga_drv.so
(III)  Desktop is: GNOME
(IV)   libgcj version is: libgcj-4.1.1-52.el5-x86_64 libgcj-4.1.1-52.el5-i386
(V)    kernel is: Linux 2.6.18-8.el5 #1 SMP Fri Jan 26 14:15:14 EST 2007 x86_64
x86_64 x86_64
(VI)   OpenOffice.org core rpm version is: openoffice.org-core-2.0.4-5.4.17-x86_64
(VII)  depth of root window:    24 planes
(VIII) accessibility is: false
...start sestatus details ...
SELinux status:                 enabled
SELinuxfs mount:                /selinux
Current mode:                   permissive
Mode from config file:          permissive
Policy version:                 21
Policy from config file:        targeted
...end sestatus details ...
...start stackreport details ...
0xacdca7b8: /opt/openoffice.org.devel/program/libuno_sal.so.3 + 0x367b8
0xacdcb23b: /opt/openoffice.org.devel/program/libuno_sal.so.3 + 0x3723b
0x5360dd40: /lib64/libpthread.so.0 + 0xdd40
0xcc56a9b3: /opt/openoffice.org.devel/program/libsvx680lx.so + 0x6789b3
0xcc56aa22: /opt/openoffice.org.devel/program/libsvx680lx.so + 0x678a22
0xcc51eeeb: /opt/openoffice.org.devel/program/libsvx680lx.so + 0x62ceeb
(SvxShape::getGluePoints() + 0x6b)
0xc9f62e6c: /opt/openoffice.org.devel/program/libgcc3_uno.so + 0x5e6c
0xc9f632ed: /opt/openoffice.org.devel/program/libgcc3_uno.so + 0x62ed
0xc9f63a30: /opt/openoffice.org.devel/program/libgcc3_uno.so + 0x6a30
0xd4a58de5: /opt/openoffice.org.devel/program/reflection.uno.so + 0x14de5
0xd482ec1e: /opt/openoffice.org.devel/program/introspection.uno.so + 0xac1e
0xd482ee5d: /opt/openoffice.org.devel/program/introspection.uno.so + 0xae5d
0xd482eecc: /opt/openoffice.org.devel/program/introspection.uno.so + 0xaecc
0xc93574a3: /opt/openoffice.org.devel/program/libsb680lx.so + 0xd54a3
(SbUnoObject::Notify(SfxBroadcaster&, SfxHint const&) + 0x3b3)
0xab113287: /opt/openoffice.org.devel/program/libsvl680lx.so + 0xbc287
(SfxBroadcaster::Broadcast(SfxHint const&) + 0x47)
0xc93c1a89: /opt/openoffice.org.devel/program/libsb680lx.so + 0x13fa89
(SbxVariable::Broadcast(unsigned long) + 0xc9)
0xc93bedfd: /opt/openoffice.org.devel/program/libsb680lx.so + 0x13cdfd
(SbxValue::Get(SbxValues&) const + 0x6d)
0xd6582ea9: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x70ea9
0xd658709f: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x7509f
0xd6587cc6: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x75cc6
0xab6c478b: /opt/openoffice.org.devel/program/libsvt680lx.so + 0x36b78b
(SvTreeListBox::Expand(SvLBoxEntry*) + 0x7b)
0xab6a2717: /opt/openoffice.org.devel/program/libsvt680lx.so + 0x349717
0xab6a283d: /opt/openoffice.org.devel/program/libsvt680lx.so + 0x34983d
0xaad334cf: /opt/openoffice.org.devel/program/libvcl680lx.so + 0x2864cf
0xaad3599f: /opt/openoffice.org.devel/program/libvcl680lx.so + 0x28899f
0xaad35139: /opt/openoffice.org.devel/program/libvcl680lx.so + 0x288139
0xb1c999b2: /opt/openoffice.org.devel/program/libvclplug_gtk680lx.so + 0x3f9b2
0x5873007d: /usr/lib64/libgtk-x11-2.0.so.0 + 0x13007d
0x5460b16a: /lib64/libgobject-2.0.so.0 + 0xb16a (g_closure_invoke + 0x10a)
0x5461b3bd: /lib64/libgobject-2.0.so.0 + 0x1b3bd
0x5461c5ef: /lib64/libgobject-2.0.so.0 + 0x1c5ef (g_signal_emit_valist + 0x61f)
0x5461ca03: /lib64/libgobject-2.0.so.0 + 0x1ca03 (g_signal_emit + 0x83)
0x5882d47e: /usr/lib64/libgtk-x11-2.0.so.0 + 0x22d47e
0x5872976d: /usr/lib64/libgtk-x11-2.0.so.0 + 0x12976d (gtk_propagate_event + 0xfd)
0x5872a781: /usr/lib64/libgtk-x11-2.0.so.0 + 0x12a781 (gtk_main_do_event + 0x321)
0x56e4662c: /usr/lib64/libgdk-x11-2.0.so.0 + 0x4662c
0x5422cf44: /lib64/libglib-2.0.so.0 + 0x2cf44 (g_main_context_dispatch + 0x1b4)
0x5422fd7d: /lib64/libglib-2.0.so.0 + 0x2fd7d
0x542302ae: /lib64/libglib-2.0.so.0 + 0x302ae (g_main_context_iteration + 0x6e)
0xb1c74215: /opt/openoffice.org.devel/program/libvclplug_gtk680lx.so + 0x1a215
0xaab849d0: /opt/openoffice.org.devel/program/libvcl680lx.so + 0xd79d0
(Application::Yield(bool) + 0x40)
0xd657d307: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x6b307
0xd6575d14: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x63d14
0xd659efe5: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x8cfe5
0xc933d0bb: /opt/openoffice.org.devel/program/libsb680lx.so + 0xbb0bb
(StarBASIC::StepPoint(unsigned short, unsigned short, unsigned short) + 0x4b)
0xc93a136e: /opt/openoffice.org.devel/program/libsb680lx.so + 0x11f36e
(SbiRuntime::StepSTMNT(unsigned int, unsigned int) + 0x1de)
0xc9397601: /opt/openoffice.org.devel/program/libsb680lx.so + 0x115601
(SbiRuntime::Step() + 0x171)
0xc934615d: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc415d
(SbModule::Run(SbMethod*) + 0x16d)
0xc9346527: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc4527
(SbModule::Notify(SfxBroadcaster&, SfxHint const&) + 0x117)
0xab113287: /opt/openoffice.org.devel/program/libsvl680lx.so + 0xbc287
(SfxBroadcaster::Broadcast(SfxHint const&) + 0x47)
0xc9345cf0: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc3cf0
(SbMethod::Broadcast(unsigned long) + 0x110)
0xc93bdad2: /opt/openoffice.org.devel/program/libsb680lx.so + 0x13bad2
(SbxValue::SbxValue(SbxValue const&) + 0xa2)
0xc93c0756: /opt/openoffice.org.devel/program/libsb680lx.so + 0x13e756
(SbxVariable::SbxVariable(SbxVariable const&) + 0x26)
0xc93a1e68: /opt/openoffice.org.devel/program/libsb680lx.so + 0x11fe68
0xc93a0915: /opt/openoffice.org.devel/program/libsb680lx.so + 0x11e915
(SbiRuntime::FindElement(SbxObject*, unsigned int, unsigned int, unsigned long,
unsigned char) + 0x1d5)
0xc93a1034: /opt/openoffice.org.devel/program/libsb680lx.so + 0x11f034
(SbiRuntime::StepFIND(unsigned int, unsigned int) + 0x54)
0xc9397601: /opt/openoffice.org.devel/program/libsb680lx.so + 0x115601
(SbiRuntime::Step() + 0x171)
0xc934615d: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc415d
(SbModule::Run(SbMethod*) + 0x16d)
0xc9346527: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc4527
(SbModule::Notify(SfxBroadcaster&, SfxHint const&) + 0x117)
0xab113287: /opt/openoffice.org.devel/program/libsvl680lx.so + 0xbc287
(SfxBroadcaster::Broadcast(SfxHint const&) + 0x47)
0xc9345cf0: /opt/openoffice.org.devel/program/libsb680lx.so + 0xc3cf0
(SbMethod::Broadcast(unsigned long) + 0x110)
0xc93bedfd: /opt/openoffice.org.devel/program/libsb680lx.so + 0x13cdfd
(SbxValue::Get(SbxValues&) const + 0x6d)
0xd658f784: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x7d784
0xd657d600: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x6b600
0xd657d752: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x6b752
0xd6579ae8: /opt/openoffice.org.devel/program/libbasctl680lx.so + 0x67ae8
0xc8c8f886: /opt/openoffice.org.devel/program/libsfx680lx.so + 0x23d886
0xc8c8fef7: /opt/openoffice.org.devel/program/libsfx680lx.so + 0x23def7
0xc8cafe52: /opt/openoffice.org.devel/program/libsfx680lx.so + 0x25de52
0xaad34ad4: /opt/openoffice.org.devel/program/libvcl680lx.so + 0x287ad4
0xb1f20637: /opt/openoffice.org.devel/program/libvclplug_gen680lx.so + 0x58637
(SalDisplay::DispatchInternalEvent() + 0xb7)
0xb1c726e6: /opt/openoffice.org.devel/program/libvclplug_gtk680lx.so + 0x186e6
0x5422cf44: /lib64/libglib-2.0.so.0 + 0x2cf44 (g_main_context_dispatch + 0x1b4)
0x5422fd7d: /lib64/libglib-2.0.so.0 + 0x2fd7d
0x542302ae: /lib64/libglib-2.0.so.0 + 0x302ae (g_main_context_iteration + 0x6e)
0xb1c7419b: /opt/openoffice.org.devel/program/libvclplug_gtk680lx.so + 0x1a19b
0xaab849d0: /opt/openoffice.org.devel/program/libvcl680lx.so + 0xd79d0
(Application::Yield(bool) + 0x40)
0xaab84aaa: /opt/openoffice.org.devel/program/libvcl680lx.so + 0xd7aaa
(Application::Execute() + 0x2a)
0x422215: /opt/openoffice.org.devel/program/soffice.bin + 0x22215
(desktop::Desktop::Main() + 0xc85)
0xaab892a4: /opt/openoffice.org.devel/program/libvcl680lx.so + 0xdc2a4
0xaab89305: /opt/openoffice.org.devel/program/libvcl680lx.so + 0xdc305 (SVMain()
+ 0x25)
0x41a557: /opt/openoffice.org.devel/program/soffice.bin + 0x1a557 (main + 0x47)
0x52a1d8a4: /lib64/libc.so.6 + 0x1d8a4 (__libc_start_main + 0xf4)
0x41a479: /opt/openoffice.org.devel/program/soffice.bin + 0x1a479
(Window::SetPosSizePixel(long, long, long, long, unsigned short) + 0x369)
...end stackreport details ...
...start sample ldd details ...
	libuno_sal.so.3 => /usr/lib64/openoffice.org2.0/program/libuno_sal.so.3
(0x00002aaaaaccd000)
	libuno_salhelpergcc3.so.3 =>
/usr/lib64/openoffice.org2.0/program/libuno_salhelpergcc3.so.3 (0x00002aaaab0c2000)
	libstore.so.3 => /usr/lib64/openoffice.org2.0/program/libstore.so.3
(0x00002aaaab2c6000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00002aaaab4f7000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00002aaaab6fb000)
	libstlport_gcc.so => /usr/lib64/openoffice.org2.0/program/libstlport_gcc.so
(0x00002aaaab915000)
	libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00002aaaabbf2000)
	libm.so.6 => /lib64/libm.so.6 (0x00002aaaabef2000)
	libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00002aaaac175000)
	libc.so.6 => /lib64/libc.so.6 (0x00002aaaac383000)
	libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00002aaaac6d1000)
	/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
...end sample ldd details ...

Comment 1 Jan Navratil 2007-04-13 09:11:16 UTC
Created attachment 152525 [details]
testing macro library

Comment 2 Jan Navratil 2007-04-13 09:20:00 UTC
How to reproduce:

1. Tools->Macros->Organize Dialogs ... 
2. "Libraries" -> Import... - import the PhotoAlbum-Debug (one of *.xlb file)
3. Edit PhotoAlbum-Debug
4. in module modPhotoAlbum set a breakpoint on calling subroutine
InsertGraphicObjectShape(oAlbum, "Timmy", oSlides(0))
5. Run macro, step into the subroutine and enable watch on oGraph
6. After calling oGraph =
oAlbum.createInstance("com.sun.star.drawing.TextShape"), the variable is set
7. Expand it .... and crash!

Comment 3 Caolan McNamara 2007-04-13 09:38:11 UTC
reproducible, I suspect this is a generic problem and not specific to fedora.

Comment 4 Caolan McNamara 2007-04-13 10:24:42 UTC
So, quick tutorial ;-)

gdb /usr/lib/openoffice.org/program/soffice.bin
(gdb) run
#0  0x031d0e90 in SdrObject::GetModel (this=0x0) at ../../inc/svdobj.hxx:684

ah, this = 0

(gdb) up

#1  0x03378cf4 in SvxUnoGluePointAccess (this=0xad2cd0d8, pObject=0x0)
    at /usr/src/redhat/BUILD/OOF680_m14/svx/source/unodraw/gluepts.cxx:237

SvxUnoGluePointAccess::SvxUnoGluePointAccess( SdrObject* pObject ) throw()
: mpObject( pObject )
{
        StartListening( *mpObject->GetModel() );

}

pObject is passed in NULL

(gdb) up

uno::Reference< uno::XInterface > SAL_CALL SvxUnoGluePointAccess_createInstance(
SdrObject* pObject )
{
        return *new SvxUnoGluePointAccess(pObject);
}

pObject is passed in NULL

if( !xGluePoints.is() )
{
        uno::Reference< container::XIndexContainer > xNew(
SvxUnoGluePointAccess_createInstance( mpObj.get() ), uno:
        mxGluePoints = xGluePoints = xNew;
}

so mpObj.get is returning NULL

A quick dig around shows uses of mpObj.is() is similiar places, so stick that
in here as well to make it...

if( mpObj.is() && !xGluePoints.is() )
{
        uno::Reference< container::XIndexContainer > ...
        mxGluePoints = xGluePoints = xNew;
}

rebuild svx

test, find another crash, same sort of thing

rinse and repeat, works. Make patch, log upstream against svx through selecting
svx at http://go-ooo.org/bug.html, add issue id to openoffice.org dropdown at
the bottom of this page.


Comment 5 Caolan McNamara 2007-04-13 10:46:17 UTC
a fairly obscure crash, closing upstream for them to apply the submitted patch
to fix this


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