https://bugs.freedesktop.org/show_bug.cgi?id=64249

Norbert Thiebaud <nthieb...@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |cedric.bosdonnat.ooo@free.f
                   |                            |r

--- Comment #4 from Norbert Thiebaud <nthieb...@gmail.com> ---
Reproduce on linux with master.

n_th@tpa10 /lo/core $ /lo/core/install/program/soffice
~/03_AB_Lineare_Funktionen_Geradenbu?schel.docx 
warn:configmgr:19743:1:configmgr/source/xcuparser.cxx:713: unknown property
"CurrentTempURL" in
"file:///home/n_th/.config/libreoffice/4/user/registrymodifications.xcu"
Exited with code '81'
oosplash: re-start with all params !
warn:legacy.osl:19751:1:oox/source/docprop/docprophandler.cxx:320: For now
unexpected tags are ignored!
warn:legacy.osl:19751:1:oox/source/docprop/docprophandler.cxx:320: For now
unexpected tags are ignored!
warn:legacy.osl:19751:1:oox/source/docprop/docprophandler.cxx:320: For now
unexpected tags are ignored!
warn:legacy.osl:19751:1:oox/source/docprop/docprophandler.cxx:320: For now
unexpected tags are ignored!
warn:legacy.osl:19751:1:oox/source/docprop/docprophandler.cxx:320: For now
unexpected tags are ignored!
warn:legacy.osl:19751:1:oox/source/helper/graphichelper.cxx:121:
GraphicHelper::GraphicHelper - cannot get target frame
warn:legacy.osl:19751:1:oox/source/helper/graphichelper.cxx:121:
GraphicHelper::GraphicHelper - cannot get target frame
warn:writerfilter:19751:1:writerfilter/source/dmapper/GraphicImport.cxx:1563:
failed. Message :GraphicCrop
warn:oox:19751:1:oox/source/helper/propertyset.cxx:139:
PropertySet::implSetPropertyValue - cannot set property "LineJoint"
warn:writerfilter:19751:1:writerfilter/source/dmapper/DomainMapper_Impl.cxx:1715:
Exception when adding shape: 

warn:writerfilter:19751:1:writerfilter/source/dmapper/OLEHandler.cxx:114:
Exception in OLE Handler: position cannot be determined with this method
warn:oox:19751:1:oox/source/helper/propertyset.cxx:139:
PropertySet::implSetPropertyValue - cannot set property "LineJoint"
warn:writerfilter:19751:1:writerfilter/source/dmapper/DomainMapper_Impl.cxx:1715:
Exception when adding shape: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: HorizontalBorder. Message: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: VerticalBorder. Message: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: BottomBorder. Message: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: LeftBorder. Message: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: RightBorder. Message: 
warn:sw.uno:19751:1:sw/source/core/unocore/unotext.cxx:2290: Exception when
setting property: TopBorder. Message: 
warn:writerfilter:19751:1:writerfilter/source/dmapper/OLEHandler.cxx:114:
Exception in OLE Handler: position cannot be determined with this method
Exited with code '139'



the problem seems to be with d4fd86e3a48defbff29bfbabfbf0d2c5d95d39f5

the the patch above the appendTableManager() call is not done because of the
exception...

but latter we still popTableManager();
and that is how we end up with en empty stack taht trigger the segfault seen in
the backtrace included by Jean Baptiste.

PS: I always wonder what exception were for, and how they worked... well, they
do not because they can't magically make all the changes in the try block
'atomic'...
so here we pushed an object in one stack and execption out before we did the
other thing that was expected... and the return trip assume everything is ok
because of the first push....


the following patch seems to work around the problem, no idea if it is
'correct', since I have no idea what the code actually does...

n_th@tpa10 /lo/core $ git diff
diff --git a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
index b5a5baa..2efc636 100644
--- a/writerfilter/source/dmapper/DomainMapper_Impl.cxx
+++ b/writerfilter/source/dmapper/DomainMapper_Impl.cxx
@@ -1647,6 +1647,8 @@ void DomainMapper_Impl::PushShapeContext( const
uno::Reference< drawing::XShape
     if (m_aTextAppendStack.empty())
         return;
     uno::Reference<text::XTextAppend> xTextAppend =
m_aTextAppendStack.top().xTextAppend;
+    appendTableManager( );
+    appendTableHandler( );
     try
     {
         uno::Reference< lang::XServiceInfo > xSInfo( xShape,
uno::UNO_QUERY_THROW );
@@ -1705,15 +1707,12 @@ void DomainMapper_Impl::PushShapeContext( const
uno::Reference< drawing::XShape
                 xProps->setPropertyValue( rPropNameSupplier.GetName(
PROP_ANCHOR_TYPE ), bIsGraphic  ?  uno::makeAny(
text::TextContentAnchorType_AS_CHARACTER ) : uno::makeAny(
text::TextContentAnchorType_AT_PARAGRAPH ) );
             }
         }
-
-        appendTableManager( );
-        appendTableHandler( );
-        getTableManager().startLevel();
     }
     catch ( const uno::Exception& e )
     {
         SAL_WARN("writerfilter", "Exception when adding shape: " <<
e.Message);
     }
+    getTableManager().startLevel();
 }

-- 
You are receiving this mail because:
You are the assignee for the bug.
_______________________________________________
Libreoffice-bugs mailing list
Libreoffice-bugs@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice-bugs

Reply via email to