Issue 63722 - new chart: Changing chart type Line 3D to XY 3D sometimes loop or crashes
Summary: new chart: Changing chart type Line 3D to XY 3D sometimes loop or crashes
Status: CLOSED DUPLICATE of issue 67868
Alias: None
Product: General
Classification: Code
Component: chart (show other issues)
Version: 3.3.0 or older (OOo)
Hardware: All All
: P2 Trivial (vote)
Target Milestone: ---
Assignee: Armin Le Grand
QA Contact: issues@graphics
URL:
Keywords: new_implementation
Depends on:
Blocks:
 
Reported: 2006-03-28 15:28 UTC by peter.junge
Modified: 2013-02-24 21:21 UTC (History)
3 users (show)

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


Attachments
Document with randomly generated values (7.53 KB, application/vnd.oasis.opendocument.spreadsheet)
2006-03-28 15:32 UTC, peter.junge
no flags Details
Document to reproduce the loop. Just enter chart and change to XY (23.14 KB, application/vnd.oasis.opendocument.spreadsheet)
2006-05-11 12:34 UTC, bjoern.milcke
no flags Details

Note You need to log in before you can comment on or make changes to this issue.
Description peter.junge 2006-03-28 15:28:59 UTC
(Windows seems to reproduce it best)
new chart from attached document
Insert::Chart
OK
Format::ChartType
check 3D
select LINE
select XY
-> sometimes OOo crashes at this point
It's a little bit unclear why it crashes. I guess it got something to do with
the values in the data range. The attached doc contains randomly generated values.
If it doesn't crash at first try do the following:
(Average two or three times to try for me)
DO while noCrash = TRUE
     cancel ChartType dialog
     put focus in data range
     press SHIFT+CTRL+F9 for recalculation
     enter inplace mode
     Format::ChartType
     check 3D
     select LINE
     select XY
LOOP
Comment 1 peter.junge 2006-03-28 15:32:40 UTC
Created attachment 35311 [details]
Document with randomly generated values
Comment 2 peter.junge 2006-03-28 15:35:10 UTC
akw
Comment 3 IngridvdM 2006-03-28 15:52:21 UTC
->bm: Please take over.
Comment 4 bjoern.milcke 2006-05-03 12:55:46 UTC
When there is a loop, there are two threads. One handles the dialog in VCL
(while the solar mutex is locked). The second thread iterates over Acceptors
(desktop, offacc.dll). Probably this is a threading deadlock.

I couldn't reproduce the loop when I start the Office without the -accept
parameter. If I do, the loop occurs, even if no other process uses the remote
connection.
Comment 5 bjoern.milcke 2006-05-03 13:10:15 UTC
Ok, next result of debugging: The "-accept" string probably only changes the
timing. Because this time I got a crash in SdrPaintView::RefreshAllIAOManagers()
when calling B2dIAOManager::UpdateDisplay(). The issue occurs when you change
chart types "fast".
Comment 6 bjoern.milcke 2006-05-03 13:11:38 UTC
Here is the stack with some libraries with debug:

    vcl680mi.dll!1000dd2b()
    vcl680mi.dll!100417b8()
    uxtheme.dll!5ad72299()
    go680mi.dll!B2dIAOManager::UpdateDisplay()  + 0x4b  C++
    tl680mi.dll!0027a60a()
>   svx680mi.dll!SdrPaintView::RefreshAllIAOManagers()  Line 1197   C++
    svx680mi.dll!SdrPaintView::ImpAfterPaintHdl(Timer * pTimer=0x0a72fe88)  Line
544    C++
    svx680mi.dll!SdrPaintView::LinkStubImpAfterPaintHdl(void * pThis=0x0a72fc78,
void * pCaller=0x0a72fe88)  Line 538 + 0xf C++
    tl680mi.dll!00276aa8()
    vcl680mi.dll!1003bb61()
    vcl680mi.dll!1003ba7b()
    vcl680mi.dll!1003c15b()
    vcl680mi.dll!1006c5c8()
   
chartmodel680mi.dll!comphelper::WeakImplHelper16<com::sun::star::util::XCloseable,com::sun::star::frame::XStorable2,com::sun::star::util::XModifiable,com::sun::star::lang::XServiceInfo,com::sun::star::chart2::XChartDocument,com::sun::star::chart2::data::XDataReceiver,com::sun::star::chart2::XTitled,com::sun::star::frame::XLoadable,com::sun::star::util::XCloneable,com::sun::star::embed::XVisualObject,com::sun::star::lang::XMultiServiceFactory,com::sun::star::document::XStorageBasedDocument,com::sun::star::lang::XUnoTunnel,com::sun::star::util::XNumberFormatsSupplier,com::sun::star::container::XChild,com::sun::star::util::XModifyListener>::release()
 Line 228 + 0xc C++
    chartcontroller680mi.dll!chart::ChartController::executeDispatch_ChartType()
 Line 1145 + 0xc   C++
    chartcontroller680mi.dll!chart::ChartController::dispatch(const
com::sun::star::util::URL & rURL={...}, const
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
rArgs={...})  Line 1044 + 0xc   C++
    chartcontroller680mi.dll!chart::ControllerCommandDispatch::dispatch(const
com::sun::star::util::URL & URL={...}, const
com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> &
Arguments={...})  Line 356 + 0x23  C++
    fwk680mi.dll!framework::GenericToolbarController::ExecuteHdl_Impl()  + 0x32 C++
    tl680mi.dll!00276aa8()
    vcl680mi.dll!100d5ee6()
[...]
Comment 7 bjoern.milcke 2006-05-04 15:05:10 UTC
Typo in summary corrected for better finding (or was that intended? ;-) )
Comment 8 bjoern.milcke 2006-05-11 12:34:01 UTC
Created attachment 36396 [details]
Document to reproduce the loop. Just enter chart and change to XY
Comment 9 bjoern.milcke 2006-05-11 15:01:06 UTC
->AW: There is a stack-overflow in B3dComplexPolygon::ExtractTriangle()  (Line
980). The function is called recursively, and obviously without a matching
abortion-criterion.
To reproduce, load the attached loop.ods, activate the chart and go to "Chart
Type". Then set a breakpoint in B2dIAOManager::UpdateDisplay() (Line 1801),
change the chart type to xy. With the breakpoint set I get a call to
"DbgIsErrorOut" which breaks into the debugger with the loop on the stack more
reliably than otherwise.

Please check, why there is a loop, and how it can be avoided.

This happens with the new chart in CWS chart2mst3.
Comment 10 bjoern.milcke 2006-06-23 10:02:44 UTC
Changed target to 2.x
Comment 11 IngridvdM 2006-09-23 09:10:54 UTC
This one is duplicate to Issue 67868. I set this older to duplicate as the newer
issue has a more reliable reproduction description.

*** This issue has been marked as a duplicate of 67868 ***
Comment 12 IngridvdM 2006-09-23 09:11:56 UTC
close as duplicate