Issue 127811 - Random Crash on Large spreadsheet
Summary: Random Crash on Large spreadsheet
Alias: None
Product: Calc
Classification: Application
Component: viewing (show other issues)
Version: 4.1.5
Hardware: Mac macOS 10.13
: P5 (lowest) Critical (vote)
Target Milestone: ---
Assignee: AOO issues mailing list
QA Contact:
Depends on:
Reported: 2018-07-09 15:00 UTC by spam
Modified: 2018-07-09 15:00 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---

Crash that seems to be caused by a cache code related to Charting (398.59 KB, application/vnd.oasis.opendocument.spreadsheet)
2018-07-09 15:00 UTC, spam
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description spam 2018-07-09 15:00:00 UTC
Created attachment 86447 [details]
Crash that seems to be caused by a cache code related to Charting

I have been experiencing a lot of Crashes.
I have this large spreadsheet (copy attached).
Previously, I could not understand how to reproduce this crash,
but now I have an Hypothesis... here is what I suspect occurs:

- Look at the Crash log below...  it always crash in a string
manipulation routine.  See below it crashes in rtl_uString_assign() + 39;
this is very typical (almost always crash here).

- But now look who is calling this function...  BuildDataCache().  That would explain why the crash is random...  There is a bug in the cash data routines that shows up perhaps because it conflicts with the usage of a global variable or a double usage of a resource.

- Now look who is calling this...  The Chart code!!!  That explains why you guy have a hard time reproducing this because you presumingly do not use super complicated charts???

Those Crashes are EXTREMELY annoying and it sometimes makes me loose my entire file if it crashes while saving the file!!!  Please take this problem most seriously.  I understand OO is free...  but if you want users to keep using it, it must be stable enough not to destroy users' data.  Please take this seriously.

I am a Software engineer who is willing to spend time to help you figure out those crashes, please do not just ignore this bug report... this is serious.

Let me know what else you need...  perhaps we can fix this crash working together...


Process:               soffice [2447]
Path:                  /Applications/
Identifier:            org.openoffice.script
Version:               4.1.5 (???)
Code Type:             X86-64 (Native)
Parent Process:        ??? [1]
Responsible:           soffice [2447]
User ID:               501

Date/Time:             2018-07-09 07:44:34.424 -0700
OS Version:            Mac OS X 10.13.6 (17G62a)
Report Version:        12
Anonymous UUID:        C91E0928-AA2E-5731-0A09-C1A884A0B36D

Sleep/Wake UUID:       ADE8E103-9B04-456C-B035-E8D9DB57082F

Time Awake Since Boot: 20000 seconds
Time Since Wake:       3500 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue:

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       EXC_I386_GPFLT
Exception Note:        EXC_CORPSE_NOTIFY

Termination Signal:    Segmentation fault: 11
Termination Reason:    Namespace SIGNAL, Code 0xb
Terminating Process:   exc handler [0]

Thread 0 Crashed:: Dispatch queue:
0   libuno_sal.dylib.3            	0x000000010ade5a57 rtl_uString_assign + 39
1   libsc.dylib                   	0x0000000133aade96 ScChart2DataSequence::BuildDataCache() + 886
2   libsc.dylib                   	0x0000000133aaf927 ScChart2DataSequence::getData() + 55
3   libsc.dylib                   	0x0000000133aafbb2 non-virtual thunk to ScChart2DataSequence::getData() + 18
4   libchartmodel.dylib           	0x000000013b8e9faa chart::DataSeries::getDataPointByIndex(int) + 490
5   libchartmodel.dylib           	0x000000013b8ea4f2 non-virtual thunk to chart::DataSeries::getDataPointByIndex(int) + 18
6   libchartcontroller.dylib      	0x000000013bcb6dd6 chart::wrapper::DataSeriesPointWrapper::getDataPointProperties() + 70
7   libchartcontroller.dylib      	0x000000013bcb7c81 chart::wrapper::DataSeriesPointWrapper::getInnerPropertySet() + 33
8   libcharttools.dylib           	0x000000013baa708a chart::WrappedPropertySet::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any const&) + 186
9   libchartcontroller.dylib      	0x000000013bcbb4ce chart::wrapper::DataSeriesPointWrapper::setPropertyValue(rtl::OUString const&, com::sun::star::uno::Any const&) + 846
10  libcharttools.dylib           	0x000000013baa810f chart::WrappedPropertySet::setPropertyValues(com::sun::star::uno::Sequence<rtl::OUString> const&, com::sun::star::uno::Sequence<com::sun::star::uno::Any> const&) + 127
11  libxo.dylib                   	0x000000010fb05ae6 SvXMLImportPropertyMapper::_FillMultiPropertySet(std::__1::vector<XMLPropertyState, std::__1::allocator<XMLPropertyState> > const&, com::sun::star::uno::Reference<com::sun::star::beans::XMultiPropertySet> const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySetInfo> const&, UniReference<XMLPropertySetMapper> const&, _ContextID_Index_Pair*) + 214
12  libxo.dylib                   	0x000000010fb050d6 SvXMLImportPropertyMapper::FillPropertySet(std::__1::vector<XMLPropertyState, std::__1::allocator<XMLPropertyState> > const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet>, _ContextID_Index_Pair*) const + 470
13  libxo.dylib                   	0x000000010f9edf08 XMLShapeStyleContext::FillPropertySet(com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> const&) + 232
14  libxo.dylib                   	0x000000010f99bb98 XMLChartStyleContext::FillPropertySet(com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> const&) + 24
15  libxo.dylib                   	0x000000010f9892b5 SchXMLSeries2Context::setStylesToDataPoints(SeriesDefaultsAndStyles&, SvXMLStylesContext const*, SvXMLStyleContext const*&, rtl::OUString&, SchXMLImportHelper&, SvXMLImport const&, bool, bool, bool) + 1413
16  libxo.dylib                   	0x000000010f952bb0 SchXMLChartContext::EndElement() + 13056
17  libxo.dylib                   	0x000000010f9d81df SvXMLImport::endElement(rtl::OUString const&) + 63
18                 	0x000000013265ffea sax_expatwrap::SaxExpatParser_Impl::callbackEndElement(void*, unsigned short const*) + 122
19                 	0x00000001326457f8 0x13263b000 + 43000
20                 	0x000000013264203b 0x13263b000 + 28731
21                 	0x000000013263ecec 0x13263b000 + 15596
22                 	0x000000013263e580 XML_ParseBuffer + 160
23                 	0x000000013265e758 sax_expatwrap::SaxExpatParser_Impl::parse() + 232
24                 	0x000000013265e10f sax_expatwrap::SaxExpatParser::parseStream(com::sun::star::xml::sax::InputSource const&) + 1023
25  libchartmodel.dylib           	0x000000013b965add chart::XMLFilter::impl_ImportStream(rtl::OUString const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, com::sun::star::uno::Reference<com::sun::star::xml::sax::XParser> const&, com::sun::star::uno::Reference<com::sun::star::lang::XMultiComponentFactory> const&, com::sun::star::uno::Reference<com::sun::star::document::XGraphicObjectResolver> const&, com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet>&) + 4077
26  libchartmodel.dylib           	0x000000013b96425f chart::XMLFilter::impl_Import(com::sun::star::uno::Reference<com::sun::star::lang::XComponent> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) + 8527
27  libchartmodel.dylib           	0x000000013b95f22e chart::XMLFilter::filter(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) + 94
28  libchartmodel.dylib           	0x000000013b8dfe0b chart::ChartModel::impl_load(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) + 315
29  libchartmodel.dylib           	0x000000013b8e0965 chart::ChartModel::loadFromStorage(com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) + 85