Windows7-Ultimate, 64bit, LibO 4.2.4.2 release Workflow to reproduce: 1. Open .csv file (from attachment) 2. position cursor on any NON_EMPTY row (e.g. row 4) and select whole row 3. select whole of spreadsheet including and below selected row by pressing CTRL-SHIFT plus "cursor-down" 4. delete selected part of sheet by pressing CTRL plus "-" --> crash with error message: "Fatal Error", "block position not found" br, WM PS: minmum version to reproduce: 1. create new spreadsheet, 2. enter at least 2 cells of data (into cells A1 and A2) 3. position on row header of row 2 (selecting whole row) 4. press CTRL-Shift + "cursor down" (selects whole sheet starting from row 2) 5. press ctrl+"-" to delete --> crash
Created attachment 100079 [details] .CSV example data file mini file to reproduce
Selecting row 1 does NOT crash Calc, selection must start at row > 1 WITH data in it br, WM
Confirmed the crash in Windows XP and Linux Mint with 4.2.4 and 4.3 beta. On a side note, only 4.2.4 has ctrl+shift+down selecting the whole down part, with others versions you have to keep pressing it until it hits a row that has no data in it before it will select the whole rest of it. Must have to do with the selection hitting the last row in Calc.
#0 0x00000030ac45f0e1 in __cxa_throw () from /lib64/libstdc++.so.6 #1 0x00007f70df510410 in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::Sh aredString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block< 54, ScFormulaCell> > >::get_block_position (this=0x2f23800, pos_hint=..., pos=1048576, start_row=@0x7fff9d346c48: 1048576, block_index=@0x7fff9d346c40: 1) at /home/caolan/LibreOffice/libreoffice-4-2/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_def.inl:660 #2 0x00007f70df4fb8cf in mdds::multi_type_vector<mdds::mtv::custom_block_func3<mdds::mtv::default_element_block<52, svl::Sh aredString>, mdds::mtv::noncopyable_managed_element_block<53, EditTextObject>, mdds::mtv::noncopyable_managed_element_block< 54, ScFormulaCell> > >::position (this=0x2f23800, pos_hint=..., pos=1048576) at /home/caolan/LibreOffice/libreoffice-4-2/workdir/UnpackedTarball/mdds/include/mdds/multi_type_vector_def.inl:1311 #3 0x00007f70df5fcb24 in ScColumn::DeleteRow (this=0x2f23740, nStartRow=3, nSize=1048573) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/core/data/column3.cxx:239 #4 0x00007f70df8a46a4 in ScTable::DeleteRow (this=0x2f23740, rRegroupCols=..., nStartCol=0, nEndCol=1023, nStartRow=3, nSize=1048573, pUndoOutline=0x7fff9d347cad) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/core/data/table2.cxx:246 #5 0x00007f70df6e3101 in ScDocument::DeleteRow (this=0x28a1858, nStartCol=0, nStartTab=0, nEndCol=1023, nEndTab=0, nStartRow=3, nSize=1048573, pRefUndoDoc=0x384b010, pUndoOutline=0x7fff9d347cad, pTabMark=0x7fff9d347b90) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/core/data/document.cxx:1369 #6 0x00007f70dfd65061 in ScDocFunc::DeleteCells (this=0x28a4b40, rRange=..., pTabMark=0x341d360, eCmd=DEL_DELROWS, bRecord=true, bApi=false) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/ui/docshell/docfunc.cxx:2331 #7 0x00007f70e01bdcb7 in ScViewFunc::DeleteCells (this=0x3314bb0, eCmd=DEL_DELROWS, bRecord=true) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/ui/view/viewfunc.cxx:1537 #8 0x00007f70e006252a in ScCellShell::ExecuteEdit (this=0x331e040, rReq=...) at /home/caolan/LibreOffice/libreoffice-4-2/sc/source/ui/view/cellsh1.cxx:288
how hard can this spreadsheet hacking be anyway
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=da6df38b4193d03143172d73006adf34b3271f7b Related: fdo#79392 std::out_or_range -> terminate 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.
Caolan McNamara committed a patch related to this issue. It has been pushed to "master": http://cgit.freedesktop.org/libreoffice/core/commit/?id=a35d92197d850527bd294eb6197b5bf83109d5be Resolves: fdo#79392 don't access after last row, when last row is max last row 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.
Caolan McNamara committed a patch related to this issue. It has been pushed to "libreoffice-4-3": http://cgit.freedesktop.org/libreoffice/core/commit/?id=24ecc003382ef1c3eac60db4c0536dfd23b0315a&h=libreoffice-4-3 Resolves: fdo#79392 don't access after last row, when last row is max last row It will be available in LibreOffice 4.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.
fixed in master and 4-3, review on gerrit for 4-2
we'll need unit test for this.
Caolan McNamara committed a patch related to this issue. It has been pushed to "libreoffice-4-2-5": http://cgit.freedesktop.org/libreoffice/core/commit/?id=928ae08bc5fef353d2e597bcfee184bf91d06353&h=libreoffice-4-2-5 Resolves: fdo#79392 don't access after last row, when last row is max last row It will be available already in LibreOffice 4.2.5. 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.
Caolan McNamara committed a patch related to this issue. It has been pushed to "libreoffice-4-2": http://cgit.freedesktop.org/libreoffice/core/commit/?id=456e2353ef9ae4e1034d078e026187ce5382c54a&h=libreoffice-4-2 Resolves: fdo#79392 don't access after last row, when last row is max last row It will be available in LibreOffice 4.2.6. 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.
Migrating Whiteboard tags to Keywords: (bibisectrequest) [NinjaEdit]