Created attachment 167897 [details] test ods file Steps to Reproduce: 1. Go to Sheet2; 2. Ctrl + A; 2. Delete (Right-click > Delete) --> Crash. Terminal output: terminate called after throwing an instance of 'std::out_of_range' what(): multi_type_vector::position#1707: block position not found! (logical pos=1048579, block size=4, logical size=1048576) Fedora 32 gtk3 with X11 Build ID: e225dc31dc5466744ca80f9467639561fa6d6294 CPU threads: 4; OS: Linux 5.9; UI render: default; VCL: gtk3 Locale: zh-CN (zh_CN.UTF-8); UI: zh-CN Calc: threaded
Created attachment 167898 [details] gdbtrace.log
The special of this file is that it contains an un-merged cell in Sheet1.B5 which references to Sheet2, and then this unmerged cell is followed by a merged cell which also references to Sheet2.
On pc Debian x86-64 with master sources updated today + gtk3, I don't reproduce this. I just noticed these logs: warn:sfx.control:512405:512405:sfx2/source/control/dispatch.cxx:1205: Childwindow slot missing: 25917 warn:sfx.control:512405:512405:sfx2/source/control/dispatch.cxx:1205: Childwindow slot missing: 25917 warn:legacy.tools:512405:512405:svx/source/form/fmvwimp.cxx:436: FmXFormView::~FmXFormView: Window list not empty! warn:legacy.osl:512405:512405:sc/source/core/data/table2.cxx:3121: wrong column number
Did you check "Enable very large spreadsheets (16m rows, 16384 cols) in Defaults (after having enabled experimental features?)
(In reply to Julien Nabet from comment #4) I did not enabled VERY LARGE SPREADSHEET feature.
Not reproducible in Version: 7.2.0.0.alpha0+ Build ID: 84af20ef3ea72190784e9e7be820684c2558ba8c CPU threads: 4; OS: Linux 5.7; UI render: default; VCL: x11 Locale: en-US (en_US.UTF-8); UI: en-US Calc: threaded @kevin, could you please try with a recent build again ?
Steps to Reproduce: 1. Go to Sheet2; 2. Click the top-left corner of the column and row labels *i.e., the place to the left of column A and on top of row 1), to select all. 3. Put cursor on the row labels (i.e., 1,2,3,4,5...), then right-click and select "Delete Rows". --> Crash. Terminal output: terminate called after throwing an instance of 'std::out_of_range' what(): multi_type_vector::position#1707: block position not found! (logical pos=1048579, block size=4, logical size=1048576) Fedora 32 gtk3 with X11 Version: 7.1.0.0.beta1+ Build ID: 8f7c26f166df33589f3522b43dbea4169a9ffd1e CPU threads: 4; OS: Linux 5.9; UI render: default; VCL: gtk3 Locale: zh-CN (zh_CN.UTF-8); UI: en-US Calc: threaded Fedora 32 X11
Created attachment 168087 [details] screenshot showing steps to reproduce
Created attachment 168094 [details] bt with debug symbols On pc Debian x86-64 with master sources updated today, I could reproduce this. I used in gdb: catch throw I disabled it until just before the last action "Delete Rows", since there are quite a lot of exceptions thrown.
In addition to bt, I just noticed this on console: warn:legacy.tools:147325:147325:svx/source/form/fmvwimp.cxx:436: FmXFormView::~FmXFormView: Window list not empty! terminate called after throwing an instance of 'std::out_of_range' what(): multi_type_vector::position#1707: block position not found! (logical pos=1048579, block size=4, logical size=1048576) warn:legacy.osl:147325:147325:framework/source/services/autorecovery.cxx:1948: need at document, at the very least Kohei: I put you in cc in addition of Eike since it may interest you because may be related to mdds (I attached a bt)
Regression introduced by: https://cgit.freedesktop.org/libreoffice/core/commit/?id=a962f1465a8db9b6c4dfdfd8fef9141f07d7fd06 author Eike Rathke <erack@redhat.com> 2017-06-27 15:00:55 +0200 committer Eike Rathke <erack@redhat.com> 2017-06-27 15:04:22 +0200 commit a962f1465a8db9b6c4dfdfd8fef9141f07d7fd06 (patch) tree 747e4bd5f74039af7303664187b921b5234c43eb parent b06657fca57b02ffb267a168bc9323780aeafbef (diff) Resolves: tdf#108788 update references for deletions at end of sheet Bisected with: bibisect-linux64-6.0 Adding Cc: to Eike Rathke
Taking.
One could assume that in sc/source/core/tool/sharedformula.cxx SharedFormulaUtil::splitFormulaCellGroups() this CellStoreType::position_type aPos = rCells.position(nRow); if (aPos.first == rCells.end()) return false; if nRow was invalid would result in an end iterator and thus return false, alas, the position() call prefers to throw instead.. Anyway, the cause is elsewhere.
Eike Rathke committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/121d4f610a2b4caa871aa0132eccbd4e12d13b3f Resolves: tdf#138710 Do not push an out-of-bounds bound to boundaries It will be available in 7.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Pending https://gerrit.libreoffice.org/c/core/+/107994 for 7-1 https://gerrit.libreoffice.org/c/core/+/107913 for 7-0
Eike Rathke committed a patch related to this issue. It has been pushed to "libreoffice-7-1": https://git.libreoffice.org/core/commit/abecbc3eb6d6d9fa6b51c45a52c24a2001ded195 Resolves: tdf#138710 Do not push an out-of-bounds bound to boundaries It will be available in 7.1.0.2. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Eike Rathke committed a patch related to this issue. It has been pushed to "libreoffice-7-0": https://git.libreoffice.org/core/commit/b22674e6283a624308d79a515e5b691f45c2338d Resolves: tdf#138710 Do not push an out-of-bounds bound to boundaries It will be available in 7.0.5. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Xisco Fauli committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/b49522d96306933dfc94f9e42cc45190514b0af9 tdf#138710: sc_uicalc: Add unittest It will be available in 7.2.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.