Issue 111524 - chart2: TickmarkHelper::getMaxTickCount gets Inf interval count
Summary: chart2: TickmarkHelper::getMaxTickCount gets Inf interval count
Status: CLOSED FIXED
Alias: None
Product: General
Classification: Code
Component: chart (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: All Linux, all
: P3 Trivial (vote)
Target Milestone: ---
Assignee: kla
QA Contact: issues@graphics
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-05-11 08:40 UTC by caolanm
Modified: 2013-02-24 21:22 UTC (History)
2 users (show)

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


Attachments
avoid crash (1.14 KB, patch)
2010-05-11 08:40 UTC, caolanm
no flags Details | Diff
create a chart from the values -> crash (7.59 KB, application/vnd.oasis.opendocument.spreadsheet)
2010-05-11 17:47 UTC, IngridvdM
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description caolanm 2010-05-11 08:40:08 UTC
In a calc document with a generated chart
(https://bugzilla.redhat.com/show_bug.cgi?id=590524) OOo crashes with a stack
like below. The initial problem is that the chart data contains some infinite
values and in TickmarkHelper::getMaxTickCount the approxSub returns an Inf which
gives a spurious massive negative nIntervalCount which causes all sorts of havoc
later on

#0  osl_decrementInterlockedCount (pCount=0x0) at interlck.c:85
#1  0x000000300040bf5b in ?? ()
   from
/usr/lib64/openoffice.org3/program/../basis-link/ure-link/lib/libuno_cppu.so.3
#2  0x00000030004109f1 in ?? ()
   from
/usr/lib64/openoffice.org3/program/../basis-link/ure-link/lib/libuno_cppu.so.3
#3  0x000000300040c2a0 in uno_type_destructData ()
   from
/usr/lib64/openoffice.org3/program/../basis-link/ure-link/lib/libuno_cppu.so.3
#4  0x00007f157e151ae4 in ~Sequence (this=<value optimized out>, 
    rAllTickInfos=std::vector of length 0, capacity 0)
    at
/root/rpmbuild/BUILD/OOO320_m17/solver/320/unxlngx6.pro/inc/com/sun/star/uno/Sequence.hxx:117
#5  chart::TickmarkHelper::getAllTicks (this=<value optimized out>, 
    rAllTickInfos=std::vector of length 0, capacity 0)
    at
/root/rpmbuild/BUILD/OOO320_m17/chart2/source/view/axes/TickmarkHelper.cxx:636
#6  0x00007f157e14e06a in chart::VAxisBase::prepareShapeCreation (this=0x44fa5f0)
    at /root/rpmbuild/BUILD/OOO320_m17/chart2/source/view/axes/VAxisBase.cxx:172
#7  0x00007f157e15df78 in chart::VCartesianAxis::createMaximumLabels
(this=0x44fa5f0)
    at
/root/rpmbuild/BUILD/OOO320_m17/chart2/source/view/axes/VCartesianAxis.cxx:1147
#8  0x00007f157e16bfc1 in chart::VCoordinateSystem::createMaximumAxesLabels
(this=0x4723ab0)
    at
/root/rpmbuild/BUILD/OOO320_m17/chart2/source/view/axes/VCoordinateSystem.cxx:473
#9  0x00007f157e1e1542 in chart::ChartView::impl_createDiagramAndContent
(this=0x4370ed0, 
    rSeriesPlotterContainer=..., xDiagramPlusAxes_Shapes=..., rAvailablePos=...,
rAvailableSize=..., 
    rPageSize=...) at
/root/rpmbuild/BUILD/OOO320_m17/chart2/source/view/main/ChartView.cxx:1414
#10 0x00007f157e1e87cd in chart::ChartView::createShapes (this=0x4370ed0)
Comment 1 caolanm 2010-05-11 08:40:56 UTC
Created attachment 69405 [details]
avoid crash
Comment 2 IngridvdM 2010-05-11 16:52:21 UTC
Applied the patch in CWS chart47. Thanks!
Comment 3 IngridvdM 2010-05-11 17:47:19 UTC
Created attachment 69423 [details]
create a chart from the values -> crash
Comment 4 IngridvdM 2010-06-03 13:17:45 UTC
@Thomas, please verify in CWS chart47.
Comment 5 kla 2010-06-11 13:16:19 UTC
Seen ok in cws chart 47 -> verified
Comment 6 caolanm 2010-06-17 20:42:40 UTC
closing, integrated m83