Bug 33108 - crash in case of an animation associated with a vertical text
Summary: crash in case of an animation associated with a vertical text
Status: RESOLVED FIXED
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Impress (show other bugs)
Version:
(earliest affected)
3.3.0 RC3
Hardware: x86 (IA32) Linux (All)
: medium major
Assignee: Thorsten Behrens (allotropia)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 31865
  Show dependency treegraph
 
Reported: 2011-01-14 06:31 UTC by Takeshi Abe
Modified: 2011-01-18 04:14 UTC (History)
2 users (show)

See Also:
Crash report or crash signature:


Attachments
vertical-animation.odp (12.84 KB, application/vnd.oasis.opendocument.presentation)
2011-01-14 06:31 UTC, Takeshi Abe
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Takeshi Abe 2011-01-14 06:31:18 UTC
Created attachment 42033 [details]
vertical-animation.odp

Overview:
slideshow seems stuck when it comes across an animation associated with
a vertical text.

Steps to Reproduce:
1) Open the attached vertical-animation.odp

2) type F5 to start slideshow

3) type the right-arrow key once or twice to proceed

Actual Results:
The application seems stuck.

Expected Results:
Slideshow goes and replays the animation.

Build Date & Platform:
Build 2011-01-14 on Debian squeeze

Additional Information:
When I launch soffice on terminal and reproduce this issue,
it leaves the following message:

X-Error: RenderBadPicture (invalid Picture parameter)
	Major opcode: 148
	Minor opcode: 7
	Resource ID:  0x400413b
	Serial No:    88811 (88811)
These errors are reported asynchronously,
set environment variable SAL_SYNCHRONIZE to 1 to help debugging
Application Error
Comment 1 Kohei Yoshida 2011-01-14 06:52:31 UTC
This may be a distro specific, or rather, specific to a certain X.org openGL etc version?  I wasn't able to reproduce this using the attached document on openSUSE 11.2 with RC3 from the SUSE repo.

Let's poke Rene.
Comment 2 Kohei Yoshida 2011-01-14 06:56:05 UTC
Also, let's poke Lubos who is a mad X.org expert. :-)

Lubos, any idea what that error message means?
Comment 3 Kohei Yoshida 2011-01-14 07:02:26 UTC
(In reply to comment #1)
> This may be a distro specific, or rather, specific to a certain X.org openGL
> etc version?  I wasn't able to reproduce this using the attached document on
> openSUSE 11.2 with RC3 from the SUSE repo.
> 
> Let's poke Rene.

Ah, nevermind Rene. :-)  I reproduced it here too.  It requires the hardware acceleration to be on.  It runs fine when that option is turned off.
Comment 4 Luboš Luňák 2011-01-14 07:09:15 UTC
RenderBadPicture error means an invalid XRender Picture handle has been passed to some (most probably) XRender*() function. It's kind of like passing an invalid fd e.g. to write(), but since X is asynchronous, errors are reported asynchronously too.

Run with SAL_SYNCHRONIZE=1 and set a breakpoint in PrintXError() to catch whatever triggers the problem.
Comment 5 Kohei Yoshida 2011-01-14 07:22:17 UTC
Thanks Lubos.

With that info, I'll pass this on to Thorsten.
Comment 6 Rene Engelhard 2011-01-14 08:31:39 UTC
so this is a duplicate of https://bugs.freedesktop.org/show_bug.cgi?id=32861 (and thus the same as http://www.openoffice.org/issues/show_bug.cgi?id=116339)?
Comment 7 Takeshi Abe 2011-01-14 20:53:49 UTC
> so this is a duplicate of https://bugs.freedesktop.org/show_bug.cgi?id=32861
As Kohei suggests, this issue is reproducible only if the hardware
acceleration is checked, while the problem of https://bugs.freedesktop.org/show_bug.cgi?id=32861
is reproducible only if the hardware acceleration is *un*checked,
as Jean-Baptiste mentions.
Comment 8 Michael Meeks 2011-01-17 04:02:16 UTC
Stack trace reads:

#14 0xb7c8f286 in XSync () from /usr/lib/libX11.so.6
#15 0xb7c8f323 in ?? () from /usr/lib/libX11.so.6
#16 0xb3dc656d in XRenderChangePicture () from /usr/lib/libXrender.so.1
#17 0xb3e3ca2c in X11SalGraphics::GetXRenderPicture() () from /data/opt/TTInstall/basis3.3/program/libvclplug_genli.so
#18 0xb3e4220e in X11SalGraphics::DrawServerAAFontString(ServerFontLayout const&) () from /data/opt/TTInstall/basis3.3/program/libvclplug_genli.so
#19 0xb3e424d7 in X11SalGraphics::DrawServerFontLayout(ServerFontLayout const&) () from /data/opt/TTInstall/basis3.3/program/libvclplug_genli.so
#20 0xb696e9ed in ServerFontLayout::DrawText(SalGraphics&) const () from /data/opt/TTInstall/program/../basis-link/program/libvclli.so
#21 0xb67b98f7 in OutputDevice::ImplDrawTextDirect(SalLayout&, unsigned char) () from /data/opt/TTInstall/program/../basis-link/program/libvclli.so
#22 0xb67b9ec1 in OutputDevice::ImplDrawText(SalLayout&) () from /data/opt/TTInstall/program/../basis-link/program/libvclli.so
#23 0xb67ba9cd in OutputDevice::DrawTextArray(Point const&, String const&, long const*, unsigned short, unsigned short) () from /data/opt/TTInstall/program/../basis-link/program/libvclli.so
#24 0xac788316 in cairocanvas::TextLayout::draw(boost::shared_ptr<cairo::Surface>&, OutputDevice&, Point const&, com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&) const () from /data/opt/TTInstall/program/../basis-link/program/cairocanvas.uno.so
#25 0xac77b97a in cairocanvas::CanvasHelper::drawTextLayout(com::sun::star::rendering::XCanvas const*, com::sun::star::uno::Reference<com::sun::star::rendering::XTextLayout> const&, com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&) () from /data/opt/TTInstall/program/../basis-link/program/cairocanvas.uno.so
...
ultimately from:
...
#38 0xac95cc11 in slideshow::internal::DrawShape::implRender(int) const () from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so

Interesting; will re-try with more symbols.
Comment 9 Michael Meeks 2011-01-17 04:50:27 UTC
With more symbols:

#15 0xb7c8f286 in XSync () from /usr/lib/libX11.so.6
#16 0xb7c8f323 in ?? () from /usr/lib/libX11.so.6
#17 0xb3b5556d in XRenderChangePicture () from /usr/lib/libXrender.so.1
#18 0xb3c011f3 in XRenderPeer::ChangePicture(unsigned long, unsigned long, _XRenderPictureAttributes const*) const () from /data/opt/TTInstall/basis3.3/program/libvclplug_genli.so
#19 0xb3bfff38 in X11SalGraphics::GetXRenderPicture (this=0x922d918) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi.cxx:1048
#20 0xb3c07653 in X11SalGraphics::DrawServerAAFontString (this=0x922d918, rLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi3.cxx:1075
#21 0xb3c08a3a in X11SalGraphics::DrawServerFontLayout (this=0x922d918, rLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi3.cxx:1433
#22 0xb68faa77 in ServerFontLayout::DrawText (this=0x92304f0, rSalGraphics=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/glyphs/gcach_layout.cxx:58
#23 0xb66149fa in OutputDevice::ImplDrawTextDirect (this=0x92301d8, rSalLayout=..., bTextLines=0 '\000')
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:4569
#24 0xb66156da in OutputDevice::ImplDrawText (this=0x92301d8, rSalLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:4724
#25 0xb661865c in OutputDevice::DrawTextArray (this=0x92301d8, rStartPt=..., rStr=..., pDXAry=0x9062178, nIndex=0, nLen=1)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:5643
#26 0xac39b316 in cairocanvas::TextLayout::draw(boost::shared_ptr<cairo::Surface>&, OutputDevice&, Point const&, com::sun::star::rendering::ViewState const&, com::sun::star::rendering::RenderState const&) const () from /data/opt/TTInstall/program/../basis-link/program/cairocanvas.uno.so
Comment 10 Michael Meeks 2011-01-17 05:14:28 UTC
The X11SalGraphics object is freshly created, and has not been freed by the time this is called. Amazingly - the picture has just been created a few lines above and then: the BadMatch when using its handle next - odd.
Comment 11 Michael Meeks 2011-01-17 05:41:29 UTC
soo - given this; the hDrawable_ must be invalid. Meaning the mpSurface in drawTextLayout is bad:

#27 0xac3a3b8a in cairocanvas::CanvasHelper::drawTextLayout (this=0x913ac94, pOwner=0x913ac7c, xLayoutedText=..., viewState=..., renderState=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/canvas/source/cairo/cairo_canvashelper_text.cxx:387
387                     pTextLayout->draw( mpSurface, *mpVirtualDevice, aOutpos, viewState, renderState );

$10 = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mpSurfaceProvider = 0x90d770c, mpDevice = 0x90d7690, mpVirtualDevice = {px = 0x9140848, pn = {pi_ = 0x913f1c8}}, 
  mbHaveAlpha = true, mpCairo = {px = 0x913aef8, pn = {pi_ = 0x913c450}}, mpSurface = {px = 0x8fc4248, pn = {pi_ = 0x9103538}}, maSize = {<basegfx::B2ITuple> = {mnX = 77, mnY = 
    343}, <No data fields>}}

Last, rather fuller trace here:


#17 0xb3b5456d in XRenderChangePicture () from /usr/lib/libXrender.so.1
#18 0xb3c002c1 in XRenderPeer::ChangePicture(unsigned long, unsigned long, _XRenderPictureAttributes const*) const () from /data/opt/TTInstall/basis3.3/program/libvclplug_genli.so
#19 0xb3bff007 in X11SalGraphics::GetXRenderPicture (this=0x913f048) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi.cxx:1054
#20 0xb3c0671f in X11SalGraphics::DrawServerAAFontString (this=0x913f048, rLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi3.cxx:1075
#21 0xb3c07b06 in X11SalGraphics::DrawServerFontLayout (this=0x913f048, rLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/unx/source/gdi/salgdi3.cxx:1433
#22 0xb68faa77 in ServerFontLayout::DrawText (this=0x90a98f8, rSalGraphics=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/glyphs/gcach_layout.cxx:58
#23 0xb66149fa in OutputDevice::ImplDrawTextDirect (this=0x9140848, rSalLayout=..., bTextLines=0 '\000')
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:4569
#24 0xb66156da in OutputDevice::ImplDrawText (this=0x9140848, rSalLayout=...) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:4724
#25 0xb661865c in OutputDevice::DrawTextArray (this=0x9140848, rStartPt=..., rStr=..., pDXAry=0x90ae160, nIndex=0, nLen=1)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/vcl/source/gdi/outdev3.cxx:5643
#26 0xac3ba511 in cairocanvas::TextLayout::draw (this=0x9121f30, pSurface=..., rOutDev=..., rOutpos=..., viewState=..., renderState=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/canvas/source/cairo/cairo_textlayout.cxx:451
#27 0xac3a3b8a in cairocanvas::CanvasHelper::drawTextLayout (this=0x913ac94, pOwner=0x913ac7c, xLayoutedText=..., viewState=..., renderState=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/canvas/source/cairo/cairo_canvashelper_text.cxx:387
#28 0xac394f93 in canvas::CanvasBase<cairocanvas::CanvasCustomSpriteSpriteBase_Base, cairocanvas::CanvasHelper, osl::Guard<osl::Mutex>, cppu::OWeakObject>::drawTextLayout (this=0x913ac50, 
    layoutetText=..., viewState=..., renderState=...) at ../../inc/canvas/base/canvasbase.hxx:426
#29 0xaf5acad1 in cppcanvas::internal::(anonymous namespace)::TextArrayAction::render(basegfx::B2DHomMatrix const&, cppcanvas::internal::Action::Subset const&) const ()
   from /data/opt/TTInstall/program/../basis-link/program/libcppcanvasli.so
#30 0xaf59d5c8 in cppcanvas::internal::(anonymous namespace)::ActionRenderer::operator()(cppcanvas::internal::ImplRenderer::MtfAction const&, cppcanvas::internal::Action::Subset const&) ()
   from /data/opt/TTInstall/program/../basis-link/program/libcppcanvasli.so
#31 0xaf59dcaa in cppcanvas::internal::ImplRenderer::drawSubset(long, long) const () from /data/opt/TTInstall/program/../basis-link/program/libcppcanvasli.so
#32 0xac61e174 in slideshow::internal::ViewShape::draw (this=0x9104bb8, rDestinationCanvas=..., rMtf=..., rAttr=..., rTransform=..., pClip=0x0, rSubsets=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/shapes/viewshape.cxx:257
#33 0xac61ec33 in slideshow::internal::ViewShape::renderSprite (this=0x9104bb8, rViewLayer=..., rMtf=..., rOrigBounds=..., rBounds=..., rUnitBounds=..., nUpdateFlags=31, pAttr=..., 
    rSubsets=..., nPrio=6.00015259254738, bIsVisible=true) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/shapes/viewshape.cxx:526
#34 0xac620088 in slideshow::internal::ViewShape::update (this=0x9104bb8, rMtf=..., rArgs=..., nUpdateFlags=31, bIsVisible=true)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/shapes/viewshape.cxx:886
#35 0xac602a6e in bool boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>::call<boost::shared_ptr<slideshow::internal::ViewShape> const, boost::shared_ptr<GDIMetaFile> const, slideshow::internal::ViewShape::RenderArgs const, int, bool>(boost::shared_ptr<slideshow::internal::ViewShape> const&, void const*, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int&, bool&) const ()
   from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so
#36 0xac602233 in bool boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>::operator()<boost::shared_ptr<slideshow::internal::ViewShape> >(boost::shared_ptr<slideshow::internal::ViewShape> const&, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool) const () from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so
#37 0xac601195 in bool boost::_bi::list5<boost::arg<1>, boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const>, boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const>, boost::_bi::value<int>, boost::_bi::value<bool> >::operator()<bool, boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>, boost::_bi::list1<boost::shared_ptr<slideshow::internal::ViewShape> const&> >(boost::_bi::type<bool>, boost::_mfi::cmf4<bool, slideshow::internal::V---Type <return> to continue, or q <return> to quit---
iewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>&, boost::_bi::list1<boost::shared_ptr<slideshow::internal::ViewShape> const&>&,
 long) () from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so
#38 0xac5ff7fe in bool boost::_bi::bind_t<bool, boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>, boost::_bi::list5<boost::arg<1>, boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const>, boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const>, boost::_bi::value<int>, boost::_bi::value<bool> > >::operator()<boost::shared_ptr<slideshow::internal::ViewShape> >(boost::shared_ptr<slideshow::internal::ViewShape> const&) ()
   from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so
#39 0xac5fe04e in _STL::iterator_traits<boost::shared_ptr<slideshow::internal::ViewShape> const*>::difference_type _STL::count_if<boost::shared_ptr<slideshow::internal::ViewShape> const*, boost::_bi::bind_t<bool, boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>, boost::_bi::list5<boost::arg<1>, boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const>, boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const>, boost::_bi::value<int>, boost::_bi::value<bool> > > >(boost::shared_ptr<slideshow::internal::ViewShape> const*, boost::shared_ptr<slideshow::internal::ViewShape> const*, boost::_bi::bind_t<bool, boost::_mfi::cmf4<bool, slideshow::internal::ViewShape, boost::shared_ptr<GDIMetaFile> const&, slideshow::internal::ViewShape::RenderArgs const&, int, bool>, boost::_bi::list5<boost::arg<1>, boost::reference_wrapper<boost::shared_ptr<GDIMetaFile> const>, boost::reference_wrapper<slideshow::internal::ViewShape::RenderArgs const>, boost::_bi::value<int>, boost::_bi::value<bool> > >) ()
   from /data/opt/TTInstall/program/../basis-link/program/slideshow.uno.so
#40 0xac5f7259 in slideshow::internal::DrawShape::implRender (this=0x9104a80, nUpdateFlags=31)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/shapes/drawshape.cxx:355
#41 0xac5fa666 in slideshow::internal::DrawShape::update (this=0x9104a80) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/shapes/drawshape.cxx:892
#42 0xac6287b0 in slideshow::internal::LayerManager::updateSprites (this=0x90fd640)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/slide/layermanager.cxx:538
#43 0xac628861 in slideshow::internal::LayerManager::update (this=0x90fd640)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/slide/layermanager.cxx:574
#44 0xac63283a in slideshow::internal::ShapeManagerImpl::update (this=0x90fd3e0)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/slide/shapemanagerimpl.cxx:264
#45 0xac683f45 in boost::_mfi::mf0<bool, slideshow::internal::ViewUpdate>::call<boost::shared_ptr<slideshow::internal::ViewUpdate> const> (this=0xbfffe670, u=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/solver/330/unxlngi6.pro/inc/boost/bind/mem_fn_template.hpp:40
#46 0xac683a05 in boost::_mfi::mf0<bool, slideshow::internal::ViewUpdate>::operator()<boost::shared_ptr<slideshow::internal::ViewUpdate> > (this=0xbfffe670, u=...)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/solver/330/unxlngi6.pro/inc/boost/bind/mem_fn_template.hpp:61
#47 0xac68349d in slideshow::internal::FunctionApply<bool, boost::shared_ptr<slideshow::internal::ViewUpdate> >::apply<boost::_mfi::mf0<bool, slideshow::internal::ViewUpdate> > (func=..., 
    rArg=...) at ../inc/listenercontainerimpl.hxx:80
#48 0xac682e34 in slideshow::internal::ListenerOperations<boost::shared_ptr<slideshow::internal::ViewUpdate> >::notifyAllListeners<_STL::vector<boost::shared_ptr<slideshow::internal::ViewUpdate> > const, boost::_mfi::mf0<bool, slideshow::internal::ViewUpdate> > (rContainer=..., func=...) at ../inc/listenercontainerimpl.hxx:125
#49 0xac68260c in slideshow::internal::ListenerContainerBase<boost::shared_ptr<slideshow::internal::ViewUpdate>, slideshow::internal::EmptyBase, _STL::vector<boost::shared_ptr<slideshow::internal::ViewUpdate>, _STL::allocator<boost::shared_ptr<slideshow::internal::ViewUpdate> > >, 16u>::applyAll<boost::_mfi::mf0<bool, slideshow::internal::ViewUpdate> > (this=0x9065a48, func=
    ...) at ../inc/listenercontainer.hxx:264
#50 0xac681815 in slideshow::internal::ScreenUpdater::commitUpdates (this=0x90b778c)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/screenupdater.cxx:140
#51 0xac68f8e3 in (anonymous namespace)::SlideShowImpl::update (this=0x90b76d8, nNextTimeout=@0xbfffe860)
    at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3.0.3/slideshow/source/engine/slideshowimpl.cxx:2093
#52 0xae7aed88 in sd::SlideshowImpl::updateSlideShow() () from /data/opt/TTInstall/program/../basis-link/program/libsdli.so
#53 0xb65727b9 in Link::Call (this=0x90c6554, pCaller=0x90c6544) at /data/opt/OpenOffice/libreoffice-3-3/build/libreoffice-3.3
Comment 12 Luboš Luňák 2011-01-17 05:55:01 UTC
I think the XRender code is broken. I'll have a look.
Comment 13 Luboš Luňák 2011-01-17 07:35:49 UTC
Interesting one. The problem was that the code assumes that there is just one visual depth, which is not quite always the case with today's ARGB-capable XServers. Fixed in master with c8b124fe8675fef888f21f1abcf81cbc5c1f5801 (needs adcf6494095e873d8c857457fda60d820b65a45b first as a cleanup of the code, as I got confused by the void* casts and misnaming of variables).

Reading again the original description, 'fixed' here means fixing the RenderBadPicture X error. I cannot reproduce any crash or freeze as claimed in the problem description, and I quite doubt the X Error would be related, unless the XServer itself is buggy in this regard.
Comment 14 Luboš Luňák 2011-01-17 07:44:54 UTC
I see, KDE integration installs the KDE X error handler which does not abort on X errors (as they're mostly non-fatal anyway), while running with other VCL plugin leads to the described problem. So this should be fixed in master with my commits.
Comment 15 Michael Meeks 2011-01-17 08:37:51 UTC
marking blocker.
Comment 16 Michael Meeks 2011-01-17 08:39:52 UTC
committed to libreoffice-3-3 (as a single commit) d46f89c39109a2ca351104c7feaefe59f187052a

Review & approval appreciated for libreoffice-3-3-0 - Thorsten - you volunteered to review/cherry-pick/close right ? :-)

Lubos - nice work :-)
Comment 17 Thorsten Behrens (allotropia) 2011-01-18 04:14:24 UTC
Fixed on all branches - thanks Lubos for the patch!