- Start spreadsheet - Open data source (Ctrl+F4) - Select column & drag to sheet > Crash Does not crash in 5.4.6 Crash in 6.1.0.1: crashreport.libreoffice.org/stats/crash_details/b5aa9a8b-19cc-4289-b022-66b65b1d7e5c crash in 6.2 master crashreport.libreoffice.org/stats/crash_details/234a12b3-c8ce-4b55-99a8-8754a681a33b Version: 6.2.0.0.alpha0+ Build ID: d6bd9c273483b12f1bb2ae398afdba977e3ec336 CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk2; TinderBox: Linux-rpm_deb-x86_64@70-TDF, Branch:master, Time: 2018-07-17_12:03:08 Locale: nl-NL (nl_NL.UTF-8); Calc: group threaded
Regression introduced by: https://cgit.freedesktop.org/libreoffice/core/commit/?id=dfefe448c41921f2f1e54d3f69b8b9e89031d055 author Armin Le Grand <Armin.Le.Grand@cib.de (CIB)> 2018-03-01 15:54:32 +0100 committer Armin Le Grand <Armin.Le.Grand@cib.de> 2018-04-07 00:28:30 +0200 commit dfefe448c41921f2f1e54d3f69b8b9e89031d055 (patch) tree 1aace31054b5740e2faffcbc5de66a791be27f7d parent eba4d5b2b76cefde90cb3d6638c736f435023a45 (diff) SOSAW080: Added first bunch of basic changes to helpers Bisected with: bibisect-linux64-6.1 Adding Cc: to Armin Le Grand
Created attachment 143799 [details] bt with debug symbols On pc Debian x86-64 with master sources updated about 1 week ago, I could reproduce this. Notice that I've upgraded from gcc7 to gcc8 but I haven't rebuilt from scratch yet. It may explain some messages on bt. However, hope it may help.
BTW, to open datasource, I had to use Ctrl-Shift-F4, not just Ctrl-F4 which closed the doc.
No chrash on Win -> Linux only (?). DataSource is CTRL+SHIFT+F4. Checking on linux...
(In reply to Armin Le Grand (CIB) from comment #4) > No chrash on Win -> Linux only (?). > DataSource is CTRL+SHIFT+F4. > Checking on linux... I can't reproduce it on win either, but the field isn't inserted either...
Crash on Linux, Stack is: SdrObject::GetObjectItemPool(const SdrObject * const this) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:545) sdr::properties::DefaultProperties::GetObjectItemSet(const sdr::properties::DefaultProperties * const this) (/home/alg/lo/work01/svx/source/sdr/properties/defaultproperties.cxx:105) sdr::properties::AttributeProperties::GetObjectItemSet(const sdr::properties::AttributeProperties * const this) (/home/alg/lo/work01/svx/source/sdr/properties/attributeproperties.cxx:246) SdrTextObj::GetTextAniKind(const SdrTextObj * const this) (/home/alg/lo/work01/svx/source/svdraw/svdotext.cxx:1789) sdr::contact::ViewContactOfSdrObj::ViewContactOfSdrObj(sdr::contact::ViewContactOfSdrObj * const this, SdrObject & rObj) (/home/alg/lo/work01/svx/source/sdr/contact/viewcontactofsdrobj.cxx:58) sdr::contact::ViewContactOfUnoControl::ViewContactOfUnoControl(sdr::contact::ViewContactOfUnoControl * const this, _rUnoObject) (/home/alg/lo/work01/svx/source/sdr/contact/viewcontactofunocontrol.cxx:51) o3tl::make_unique<sdr::contact::ViewContactOfUnoControl, SdrUnoObj&>() (/home/alg/lo/work01/include/o3tl/make_unique.hxx:29) SdrUnoObj::CreateObjectSpecificViewContact(SdrUnoObj * const this) (/home/alg/lo/work01/svx/source/svdraw/svdouno.cxx:531) SdrObject::GetViewContact(const SdrObject * const this) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:270) SdrObject::ActionChanged(const SdrObject * const this) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:280) SdrObject::SetChanged(SdrObject * const this) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:933) SdrUnoObj::CreateUnoControlModel(SdrUnoObj * const this, const rtl::OUString & rModelName) (/home/alg/lo/work01/svx/source/svdraw/svdouno.cxx:419) SdrUnoObj::SdrUnoObj(SdrUnoObj * const this, const void ** const __vtt_parm, rSdrModel, const rtl::OUString & rModelName) (/home/alg/lo/work01/svx/source/svdraw/svdouno.cxx:160) FmFormObj::FmFormObj(FmFormObj * const this, rSdrModel, rModelName) (/home/alg/lo/work01/svx/source/form/fmobj.cxx:62) FmFormObjFactory::MakeObject(SdrObjCreatorParams aParams) (/home/alg/lo/work01/svx/source/form/fmobjfac.cxx:215) Link<SdrObjCreatorParams, SdrObject*>::Call() (/home/alg/lo/work01/include/tools/link.hxx:84) SdrObjFactory::CreateObjectFromFactory(SdrModel & rSdrModel, SdrInventor nInventor, sal_uInt16 nObjIdentifier) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:3003) SdrObjFactory::MakeNewObject(SdrModel & rSdrModel, SdrInventor nInventor, sal_uInt16 nIdentifier, const tools::Rectangle * pSnapRect) (/home/alg/lo/work01/svx/source/svdraw/svdobj.cxx:3135) FmXFormView::createControlLabelPair(const OutputDevice & _rOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM, const com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> & _rxField, const com::sun::star::uno::Reference<com::sun::star::util::XNumberFormats> & _rxNumberFormats, sal_uInt16 _nControlObjectID, const rtl::OUString & _rFieldPostfix, SdrInventor _nInventor, sal_uInt16 _nLabelObjectID, SdrModel * _pModel, SdrUnoObj *& _rpLabel, SdrUnoObj *& _rpControl) (/home/alg/lo/work01/svx/source/form/fmvwimp.cxx:1585) FmXFormView::createControlLabelPair(FmXFormView * const this, const OutputDevice & _rOutDev, sal_Int32 _nXOffsetMM, sal_Int32 _nYOffsetMM, const com::sun::star::uno::Reference<com::sun::star::beans::XPropertySet> & _rxField, const com::sun::star::uno::Reference<com::sun::star::util::XNumberFormats> & _rxNumberFormats, sal_uInt16 _nControlObjectID, const rtl::OUString & _rFieldPostfix, SdrUnoObj *& _rpLabel, SdrUnoObj *& _rpControl, const com::sun::star::uno::Reference<com::sun::star::sdbc::XDataSource> & _rxDataSource, const rtl::OUString & _rDataSourceName, const rtl::OUString & _rCommand, const sal_Int32 _nCommandType) (/home/alg/lo/work01/svx/source/form/fmvwimp.cxx:1518) FmXFormView::implCreateFieldControl(FmXFormView * const this, _rColumnDescriptor) (/home/alg/lo/work01/svx/source/form/fmvwimp.cxx:1337) ScViewFunc::PasteDataFormat(ScViewFunc * const this, SotClipboardFormatId nFormatId, const com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> & rxTransferable, SCCOL nPosX, SCROW nPosY, const Point * pLogicPos, bool bLink, bool bAllowDialogs) (/home/alg/lo/work01/sc/source/ui/view/viewfun5.cxx:445) ScGridWindow::ExecuteDrop(ScGridWindow * const this, const ExecuteDropEvent & rEvt) (/home/alg/lo/work01/sc/source/ui/view/gridwin.cxx:4371) DropTargetHelper::DropTargetListener::drop(DropTargetHelper::DropTargetListener * const this, const com::sun::star::datatransfer::dnd::DropTargetDropEvent & rDTDE) (/home/alg/lo/work01/svtools/source/misc/transfer2.cxx:152) DNDListenerContainer::fireDropEvent(DNDListenerContainer * const this, const com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDropTargetDropContext> & context, sal_Int8 dropAction, sal_Int32 locationX, sal_Int32 locationY, sal_Int8 sourceActions, const com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> & transferable) (/home/alg/lo/work01/vcl/source/window/dndlistenercontainer.cxx:117) DNDEventDispatcher::fireDropEvent(vcl::Window * pWindow, const com::sun::star::uno::Reference<com::sun::star::datatransfer::dnd::XDropTargetDropContext> & xContext, const sal_Int8 nDropAction, const Point & rLocation, const sal_Int8 nSourceActions, const com::sun::star::uno::Reference<com::sun::star::datatransfer::XTransferable> & xTransferable) (/home/alg/lo/work01/vcl/source/window/dndeventdispatcher.cxx:379) DNDEventDispatcher::drop(DNDEventDispatcher * const this, const com::sun::star::datatransfer::dnd::DropTargetDropEvent & dtde) (/home/alg/lo/work01/vcl/source/window/dndeventdispatcher.cxx:109) GtkDropTarget::fire_drop(GtkDropTarget * const this, const com::sun::star::datatransfer::dnd::DropTargetDropEvent & dtde) (/home/alg/lo/work01/vcl/unx/gtk3/gtk3gtkinst.cxx:785) GtkSalFrame::signalDragDrop(GtkWidget * pWidget, GdkDragContext * context, gint x, gint y, guint time, gpointer frame) (/home/alg/lo/work01/vcl/unx/gtk3/gtk3gtkframe.cxx:3591) [Unknown/Just-In-Time compiled code] (Unknown Source:0) g_closure_invoke (Unknown Source:0) [Unknown/Just-In-Time compiled code] (Unknown Source:0) g_signal_emit_valist (Unknown Source:0) g_signal_emit_by_name (Unknown Source:0) [Unknown/Just-In-Time compiled code] (Unknown Source:0) gtk_main_do_event (Unknown Source:0) [Unknown/Just-In-Time compiled code] (Unknown Source:0) g_main_context_dispatch (Unknown Source:0) [Unknown/Just-In-Time compiled code] (Unknown Source:0) g_main_context_iteration (Unknown Source:0)
FmXFormView::createControlLabelPair gets a SdrObject nullptr. This is pretty strange- there are two versions of FmXFormView::createControlLabelPair, one static and one not, as member. The static one would probably need to get a SdrModel/UnoControlModel somehow - it accesses it later using xLabelModel.set( pLabel->GetUnoControlModel(), UNO_QUERY ); so the question is - how did it get the model before (there is also no SdrPage offered to get it from)...?
Already happens in lo-6-1. The version of FmXFormView::createControlLabelPair that uses a SdrModel* shoulod be changed to use a SdrModel&. The call from FmXFormView::createControlLabelPair in fmvwimp.cxx has a SdrView where it gets the SDrModel from anyways (using getView()->getSdrModelFromSdrView()). Checking if this can be done...
Armin Le Grand committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=e5ee79b5c089e72e6b24c04c7c820d706bd39993 tdf#118963 Hand over a SdrModel to createControlLabelPair It will be available in 6.2.0. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Verified in Version: 6.2.0.0.alpha0+ Build ID: 72b099d279e7096d41a04fe8c0dd493a5fc18a33 CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded @Armin, thanks for fixing this!! Can it be cherry-picked to 6-1 and 6-1-0 ?
*** Bug 119166 has been marked as a duplicate of this bug. ***
Hi Armin, Any chance this commit get cherry-picked to 6-1 ? it also fixes bug 119166
(In reply to Xisco Faulí from comment #12) > Hi Armin, > Any chance this commit get cherry-picked to 6-1 ? > it also fixes bug 119166 Still reproduced in Version: 6.1.3.0.0+ Build ID: 316281cf1d888a4bac9f1e40e92c66405480249c CPU threads: 4; OS: Linux 4.15; UI render: default; VCL: gtk3; Locale: ca-ES (ca_ES.UTF-8); Calc: group threaded Cherry-picked to 6-1: https://gerrit.libreoffice.org/#/c/61316/
Armin Le Grand committed a patch related to this issue. It has been pushed to "libreoffice-6-1": http://cgit.freedesktop.org/libreoffice/core/commit/?id=2cf13c31c6aa262e4bb4b075597f3543ecd3c4a6&h=libreoffice-6-1 tdf#118963 Hand over a SdrModel to createControlLabelPair It will be available in 6.1.4. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Armin Le Grand committed a patch related to this issue. It has been pushed to "libreoffice-6-1-3": http://cgit.freedesktop.org/libreoffice/core/commit/?id=0f9fd7ec1991f8ad2a9834891f1d5aa49ceca7f2&h=libreoffice-6-1-3 tdf#118963 Hand over a SdrModel to createControlLabelPair It will be available in 6.1.3. The patch should be included in the daily builds available at http://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: http://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.