Bug 167042 - Calc cell comments are deleted on Save
Summary: Calc cell comments are deleted on Save
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Calc (show other bugs)
Version:
(earliest affected)
7.0 all versions
Hardware: All All
: high major
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, dataLoss, regression
Depends on:
Blocks:
 
Reported: 2025-06-16 08:17 UTC by yuggothblaster
Modified: 2025-06-17 09:23 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description yuggothblaster 2025-06-16 08:17:08 UTC
Description:
Calc is deleting cell comments after cloning cell style onto cell with comment, pressing undo, saving document and reloading Calc.

Steps to Reproduce:
1. Create comment on cell (eg. A1)
2. Set Bold and Italic style on cell on A2 for example
3. Clone A2 formatting to cell A1
4. Press Undo
5. Save document
6. Notice that comment on A1 is still there
7. Close Calc
8. Reopen document

Actual Results:
Comment on cell A1 is gone

Expected Results:
Comment on cell A1 should not be removed.


Reproducible: Always


User Profile Reset: No

Additional Info:
Version: 25.2.4.3 (X86_64) / LibreOffice Community
Build ID: 33e196637044ead23f5c3226cde09b47731f7e27
CPU threads: 16; OS: Windows 11 X86_64 (10.0 build 26100); UI render: Skia/Vulkan; VCL: win
Locale: sr-Latn-BA (sr_BA); UI: en-US
Calc: threaded
Comment 1 Xisco Faulí 2025-06-16 08:56:02 UTC
Reproduced in

Version: 25.8.0.0.alpha1+ (X86_64) / LibreOffice Community
Build ID: 04744bbc9be4adca92eaba602b7a65c17f6b8dd7
CPU threads: 8; OS: Linux 6.1; UI render: default; VCL: gtk3
Locale: es-ES (es_ES.UTF-8); UI: en-US
Calc: threaded
Comment 2 Xisco Faulí 2025-06-16 09:04:33 UTC
Also reproduced in

Version: 6.4.0.0.alpha1+
Build ID: 9bc848cf0d301aa57eabcffa101a1cf87bad6470
CPU threads: 8; OS: Linux 6.1; UI render: default; VCL: gtk3; 
Locale: en-US (es_ES.UTF-8); UI-Language: en-US
Calc: threaded
Comment 3 Xisco Faulí 2025-06-16 09:05:59 UTC
Not reproduced in OpenOffice 3.3
Comment 4 Xisco Faulí 2025-06-16 09:18:37 UTC
Not reproduced in

Version: 4.2.0.0.beta2
Build ID: 1a27be92e320f97c20d581a69ef1c8b99ea9885d
Comment 5 Xisco Faulí 2025-06-16 09:36:59 UTC
With a debug build it hits an assert:

soffice.bin: /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/postit.cxx:615: void ScPostIt::CreateCaptionFromInitData(const ScAddress&) const: Assertion `(maNoteData.mxCaption || maNoteData.mxInitData) || mrDoc.IsUndo() || mrDoc.IsClipboard()' failed.
Unspecified Application Error


Fatal exception: Signal 6
Stack:
#0 sal::backtrace_get(unsigned int) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/unx/backtraceapi.cxx:42 (discriminator 3)
#1 (anonymous namespace)::printStack(int) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/unx/signal.cxx:289
#2 (anonymous namespace)::callSystemHandler(int, siginfo_t*, void*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/unx/signal.cxx:330
#3 (anonymous namespace)::signalHandlerFunction(int, siginfo_t*, void*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/unx/signal.cxx:427
#4 __restore_rt at libc_sigaction.c:?
#5 __pthread_kill_implementation at ./nptl/./nptl/pthread_kill.c:44
#6 __GI_raise at ./signal/../sysdeps/posix/raise.c:27
#7 __GI_abort at ./stdlib/./stdlib/abort.c:81 (discriminator 21)
#8 SalAbort(rtl::OUString const&, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/salplug.cxx:405
#9 Application::Abort(rtl::OUString const&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svapp.cxx:301
#10 desktop::Desktop::Exception(ExceptionCategory) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/desktop/source/app/app.cxx:1238 (discriminator 2)
#11 VCLExceptionSignal_impl(void*, oslSignalInfo*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svmain.cxx:179
#12 callSignalHandler(oslSignalInfo*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/all/signalshared.cxx:47
#13 (anonymous namespace)::signalHandlerFunction(int, siginfo_t*, void*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sal/osl/unx/signal.cxx:423
#14 __restore_rt at libc_sigaction.c:?
#15 __pthread_kill_implementation at ./nptl/./nptl/pthread_kill.c:44
#16 __GI_raise at ./signal/../sysdeps/posix/raise.c:27
#17 __GI_abort at ./stdlib/./stdlib/abort.c:81 (discriminator 21)
#18 _nl_load_domain at ./intl/./intl/loadmsgcat.c:1177
#19 __GI___assert_fail at :?
#20 ScPostIt::CreateCaptionFromInitData(ScAddress const&) const at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/postit.cxx:616
#21 ScPostIt::GetOrCreateCaption(ScAddress const&) const at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/postit.cxx:552
#22 (anonymous namespace)::NoteCaptionCreator::operator()(unsigned long, ScPostIt const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/column4.cxx:757
#23 void sc::EachElem<mdds::mtv::noncopyable_managed_element_block<55, ScPostIt, mdds::mtv::delayed_delete_vector>, __gnu_cxx::__normal_iterator<ScPostIt**, std::vector<ScPostIt*, std::allocator<ScPostIt*> > >, mdds::detail::mtv::iterator_value_node<mdds::mtv::soa::multi_type_vector<sc::CellNoteTraits>, unsigned long>, (anonymous namespace)::NoteCaptionCreator>(mdds::detail::mtv::iterator_value_node<mdds::mtv::soa::multi_type_vector<sc::CellNoteTraits>, unsigned long>&, (anonymous namespace)::NoteCaptionCreator&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/inc/mtvfunctions.hxx:129
#24 void sc::ProcessElements1<mdds::mtv::soa::multi_type_vector<sc::CellNoteTraits>, mdds::mtv::noncopyable_managed_element_block<55, ScPostIt, mdds::mtv::delayed_delete_vector>, (anonymous namespace)::NoteCaptionCreator, sc::FuncElseNoOp<unsigned long, bool> >(mdds::mtv::soa::multi_type_vector<sc::CellNoteTraits>&, (anonymous namespace)::NoteCaptionCreator&, sc::FuncElseNoOp<unsigned long, bool>&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/inc/mtvfunctions.hxx:321
#25 void sc::ProcessNote<(anonymous namespace)::NoteCaptionCreator>(mdds::mtv::soa::multi_type_vector<sc::CellNoteTraits>&, (anonymous namespace)::NoteCaptionCreator&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/inc/mtvcellfunc.hxx:148
#26 ScColumn::CreateAllNoteCaptions() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/column4.cxx:778
#27 ScTable::CreateAllNoteCaptions() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/table2.cxx:1969 (discriminator 3)
#28 ScDocument::CreateAllNoteCaptions() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/core/data/document.cxx:6759 (discriminator 2)
#29 ScXMLImportWrapper::Export(bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/filter/xml/xmlwrap.cxx:723
#30 ScDocShell::SaveXML(SfxMedium*, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/ui/docshell/docsh.cxx:657
#31 ScDocShell::SaveAs(SfxMedium&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/ui/docshell/docsh.cxx:1937 (discriminator 2)
#32 SfxObjectShell::SaveAsOwnFormat(SfxMedium&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/objstor.cxx:3674
#33 SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/objstor.cxx:1828
#34 SfxObjectShell::DoSave_Impl(SfxItemSet const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/objstor.cxx:3053 (discriminator 3)
#35 SfxObjectShell::Save_Impl(SfxItemSet const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/objstor.cxx:3133
#36 SfxBaseModel::storeSelf(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/sfxbasemodel.cxx:1714
#37 SfxStoringHelper::GUIStoreModel(com::sun::star::uno::Reference<com::sun::star::frame::XModel2> const&, std::basic_string_view<char16_t, std::char_traits<char16_t> >, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&, bool, SignatureState, SignatureState, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/guisaveas.cxx:1595 (discriminator 6)
#38 SfxObjectShell::ExecFile_Impl(SfxRequest&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/doc/objserv.cxx:1159 (discriminator 6)
#39 SfxStubSfxObjectShellExecFile_Impl(SfxShell*, SfxRequest&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/workdir/SdiTarget/sfx2/sdi/sfxslots.hxx:225
#40 SfxShell::ExecuteSlot(SfxRequest&, SfxInterface const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/control/shell.cxx:477
#41 ScTabViewShell::ExecuteSave(SfxRequest&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sc/source/ui/view/tabvwsha.cxx:855
#42 SfxStubScTabViewShellExecuteSave(SfxShell*, SfxRequest&) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/workdir/SdiTarget/sc/sdi/scslots.hxx:1521
#43 SfxDispatcher::Call_Impl(SfxShell&, SfxSlot const&, SfxRequest&, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/control/dispatch.cxx:259
#44 SfxDispatcher::PostMsgHandler(std::unique_ptr<SfxRequest, std::default_delete<SfxRequest> >) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/control/dispatch.cxx:1008
#45 SfxHintPoster::DoEvent_Impl(void*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/notify/hintpost.cxx:74 (discriminator 2)
#46 SfxHintPoster::LinkStubDoEvent_Impl(void*, void*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/sfx2/source/notify/hintpost.cxx:54
#47 Link<void*, void>::Call(void*) const at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/include/tools/link.hxx:105 (discriminator 1)
#48 ImplHandleUserEvent(ImplSVEvent*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/window/winproc.cxx:2288
#49 ImplWindowFrameProc(vcl::Window*, SalEvent, void const*) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/window/winproc.cxx:2850
#50 SalFrame::CallCallback(SalEvent, void const*) const at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/inc/salframe.hxx:310 (discriminator 1)
#51 SalGenericDisplay::ProcessEvent(SalUserEventList::SalUserEvent) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/unx/generic/app/gendisp.cxx:67
#52 SalUserEventList::DispatchUserEvents(bool)::{lambda()#1}::operator()() const at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/salusereventlist.cxx:119
#53 SalUserEventList::DispatchUserEvents(bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/salusereventlist.cxx:122
#54 SalGenericDisplay::DispatchInternalEvent(bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/unx/generic/app/gendisp.cxx:52
#55 call_userEventFn at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/unx/gtk3/gtkdata.cxx:829
#56 g_main_context_dispatch in /lib/x86_64-linux-gnu/libglib-2.0.so.0
#57 g_main_context_dispatch in /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 g_main_context_iteration in /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 GtkSalData::Yield(bool, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/unx/gtk3/gtkdata.cxx:405 (discriminator 6)
#60 GtkInstance::DoYield(bool, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/unx/gtk3/gtkinst.cxx:440
#61 ImplYield(bool, bool) at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svapp.cxx:386
#62 Application::Yield() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svapp.cxx:489
#63 Application::Execute() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svapp.cxx:361
#64 desktop::Desktop::Main() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/desktop/source/app/app.cxx:1680
#65 ImplSVMain() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svmain.cxx:231
#66 SVMain() at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/vcl/source/app/svmain.cxx:250
#67 soffice_main at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/desktop/source/app/sofficemain.cxx:122
#68 sal_main at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/desktop/source/app/main.c:51
#69 main at /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/desktop/source/app/main.c:49
#70 __libc_start_call_main at ./csu/../sysdeps/x86/libc-start.c:74
#71 call_init at ./csu/../csu/libc-start.c:128
#72 _start in /mnt/4d311c06-5193-4f61-a3f6-53ca4d9ea1e1/libreoffice/instdir/program/soffice.bin
Comment 6 Xisco Faulí 2025-06-16 09:38:10 UTC
@Kohei, I thought you might be interested in this issue