I was able to run a debug session on an observed cpu-ooping in a
cppunit test on windows (tb65)
It was not sa debug build but from the assembler  it seems to be
looping in the while loop of the code below:

void SfxOleSection::SaveProperty( SvStream& rStrm, SfxOlePropertyBase&
rProp, sal_Size& rnPropPosPos )
{
    rStrm.Seek( STREAM_SEEK_TO_END );
    sal_uInt32 nPropPos = static_cast< sal_uInt32 >( rStrm.Tell() -
mnStartPos );
    // property data type
    rStrm.WriteInt32( rProp.GetPropType() );
    // write property contents
    SaveObject( rStrm, rProp );
    // align to 32-bit
    while( (rStrm.Tell() & 3) != 0 )
        rStrm.WriteUChar( 0 );

----^
loop here

looks like WriteUChar call blind Write, does not check that Write
actually wrote anything
whch somehow it does not (although my assembler skill does not allow
me to figre out exactly which path it took to bails -- I mean in the
c++ code.
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to