Steps how to reproduce with parallel installation of Master "LOdev " 3.7.0.0.alpha0+ - WIN7 Home Premium (64bit) ENGLISH UI [Build ID: 8d39b7]" (tinderbox: W2008R2@16-minimal_build, pull time 2012-06-20 04:38:46): 0. download / Unzip Test kit attachment 59136 [details] from Bug 47977 1. Open "Defect_Statistic.ods" 2. Type an "x" into F3, <Enter> 3. Save as "Defect_Statistic_crash.ods" > CRASH
Server Installation of "LibreOffice 3.6.0.0.beta2 German UI/Locale [Build-ID: f010139] on German WIN7 Home Premium (64bit) also crashes.
Not reproducible for me with new document, simple table and chart, all on 1 sheet, saving from Page Preview view. Sample document also will CRASH when I save from Normal View
Crashes for me under linux too; re-building with symbols to get a better trace.
Program received signal SIGSEGV, Segmentation fault. Chart2PositionMap (pDoc=0x8a1d860, rCols=..., bFillColumnHeader=true, bFillRowHeader=false, nAllRowCount=79, nAllColCount=3, this=0xa250f68) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:3587 3587 } (gdb) bt #0 Chart2PositionMap (pDoc=0x8a1d860, rCols=..., bFillColumnHeader=true, bFillRowHeader=false, nAllRowCount=79, nAllColCount=3, this=0xa250f68) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:3587 #1 createPositionMap (this=0xbfffbb34) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:829 #2 getPositionMap (this=0xbfffbb34) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:483 #3 ScChart2DataProvider::createDataSource (this=0x96ccdf0, aArguments=uno::Sequence of length 5 = {...}) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:1509 #4 0xaf316b4b in ScChart2DataProvider::detectArguments (this=0x96ccdf0, xDataSource=warning: RTTI symbol not found for class 'chart::DataSource' warning: RTTI symbol not found for class 'chart::DataSource' warning: RTTI symbol not found for class 'chart::DataSource' warning: RTTI symbol not found for class 'chart::DataSource' uno::Reference to {<com::sun::star::uno::XInterface> = {_vptr.XInterface = 0xaba36888}, <No data fields>}) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:1980 #5 0xab98f8e5 in chart::DataSourceHelper::detectRangeSegmentation (xChartModel= uno::Reference to {<com::sun::star::lang::XComponent> = {<com::sun::star::uno::XInterface> = {_vptr.XInterface = 0xabb30b98}, <No data fields>}, <No data fields>}, rOutRangeString="", rSequenceMapping=empty uno::Sequence, rOutUseColumns=@0xbfffbfed, rOutFirstCellAsLabel=@0xbfffbfee, rOutHasCategories=@0xbfffbfef) at /data/opt/libreoffice/master/chart2/source/tools/DataSourceHelper.cxx:353 #6 0xab7857de in chart::wrapper::WrappedDataRowSourceProperty::getPropertyValue (this=0x9cbc500) at /data/opt/libreoffice/master/chart2/source/controller/chartapiwrapper/DiagramWrapper.cxx:1261 #7 0xab9db7b2 in chart::WrappedProperty::getPropertyState(com::sun::star::uno::Reference<com::sun::star::beans::XPropertyState> const&) const () from /data/opt/OOInstall/program/libcharttoolslo.so #8 0xab9dc8c1 in chart::WrappedPropertySet::getPropertyState (this=0x9cb4388, rPropertyName="DataRowSource") at /data/opt/libreoffice/master/chart2/source/tools/WrappedPropertySet.cxx:333 #9 0xab9dbd63 in chart::WrappedPropertySet::getPropertyStates (this=0x9cb4388, rNameSeq=uno::Sequence of length 63 = {...}) at /data/opt/libreoffice/master/chart2/source/tools/WrappedPropertySet.cxx:364 #10 0xb01d4f96 in FilterPropertiesInfo_Impl::FillPropertyStateArray(std::vector<XMLPropertyState, std::allocator<XMLPropertyState> >&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> const&, UniReference<XMLPropertySetMapper> const&, unsigned char) () from /data/opt/OOInstall/program/../program/libxolo.so
Created attachment 63366 [details] bt + console msgs on master On Pc Debian x86-64, with sources updated today, I reproduced the problem I attached bt + console logs. Weird thing is bt is not exactly the same as Michael, His : Program received signal SIGSEGV, Segmentation fault. Chart2PositionMap (pDoc=0x8a1d860, rCols=..., bFillColumnHeader=true, bFillRowHeader=false, nAllRowCount=79, nAllColCount=3, this=0xa250f68) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:3587 3587 } (gdb) bt #0 Chart2PositionMap (pDoc=0x8a1d860, rCols=..., bFillColumnHeader=true, bFillRowHeader=false, nAllRowCount=79, nAllColCount=3, this=0xa250f68) at /data/opt/libreoffice/master/sc/source/ui/unoobj/chart2uno.cxx:3587 Mine : Program received signal SIGSEGV, Segmentation fault. Program received signal SIGSEGV, Segmentation fault. 0x00007ff42c0cfcf4 in formula::FormulaToken::GetType (this=0x0) at /home/julien/compile-libreoffice/libo/solver/unxlngx6/inc/formula/token.hxx:115 115 inline StackVar GetType() const { return eType; } (gdb) bt #0 0x00007ff42c0cfcf4 in formula::FormulaToken::GetType (this=0x0) at /home/julien/compile-libreoffice/libo/solver/unxlngx6/inc/formula/token.hxx:115 #1 0x00007ff42c930072 in (anonymous namespace)::Chart2PositionMap::Chart2PositionMap (this=0x1ff42e0, nAllColCount=3, nAllRowCount=79, bFillRowHeader=true, bFillColumnHeader=true, rCols=..., pDoc=0x265f100) at /home/julien/compile-libreoffice/libo/sc/source/ui/unoobj/chart2uno.cxx:318 #2 0x00007ff42c931fa8 in (anonymous namespace)::Chart2Positioner::createPositionMap (this=0x7fff902f6820) at /home/julien/compile-libreoffice/libo/sc/source/ui/unoobj/chart2uno.cxx:829 So here is the line : 318 StackVar eType = pToken->GetType(); I tried to add this before line 318 : if (!pToken) break; // tried too "continue" The file could be saved in both cases, but impossible to reopen it."read error" message.
Valgrind shows the same thing - I guess the createDataSource line-number is busted, by (I guess) some inlining action inside the createDataSource impl. ==621== Access not within mapped region at address 0x6 ==621== at 0xFC7EDDF: ScChart2DataProvider::createDataSource(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) (chart2uno.cxx:3587) ==621== by 0xFC7BB4A: ScChart2DataProvider::detectArguments(com::sun::star::uno::Reference<com::sun::star::chart2::data::XDataSource> const&) (chart2uno.cxx:1980) ==621== by 0x1641D8E4: chart::DataSourceHelper::detectRangeSegmentation(com::sun::star::uno::Reference<com::sun::star::frame::XModel> const&, rtl::OUString&, com::sun::star::uno::Sequence<long>&, bool&, bool&, bool&) (DataSourceHelper.cxx:353) ==621== by 0x1656F7DD: chart::wrapper::WrappedDataRowSourceProperty::getPropertyValue(com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> const&) const (DiagramWrapper.cxx:1261) ==621== by 0x164697B1: chart::WrappedProperty::getPropertyState(com::sun::star::uno::Reference<com::sun::star::beans::XPropertyState> const&) const (in /data/opt/libreoffice/master/solver/unxlngi6.pro/lib/libcharttoolslo.so)
That is one for me. Another bug introduced by this incredible buggy patch to chart2 to replace Table with std::map.
Markus Mohrhard committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=904596e935144e97d762d09942fa0d35068882ce we still need to check that we have a token, fdo#51326
Markus Mohrhard committed a patch related to this issue. It has been pushed to "libreoffice-3-6": http://cgit.freedesktop.org/libreoffice/core/commit/?id=34027323e0177145eaa5519d1b289f2fc4f435f7&g=libreoffice-3-6 we still need to check that we have a token, fdo#51326 It will be available in LibreOffice 3.6.
Fixed another crash for dbgutil builds with the same commit. These Table->std::map commits have introduced IMHO too many regressions already, we should just revert them and no longer accept such commits if the area is not tested or covered by unit tests.