Skip to content

Conversation

brlin-tw
Copy link

@brlin-tw brlin-tw commented Apr 9, 2025

This pull request implements a Docker Compose-based configuration and a shell script to assist in building OxOffice in a Ubuntu 24.04 environment.

@brlin-tw brlin-tw marked this pull request as draft April 9, 2025 01:36
s8321414 pushed a commit that referenced this pull request Apr 21, 2025
and not at DrawDocShell::Connect which happens on switching view which
happens frequently with multiple users which creates a storm of
invalidations.

 #0  SfxViewShell::libreOfficeKitViewInvalidateTilesCallback (this=0x3301ce40, pRect=0x0, nPart=0, nMode=0) at sfx2/source/view/viewsh.cxx:3331
 #1  0x00007fd0f1bae136 in sd::DrawDocShell::Connect (this=0x352e3e50, pViewSh=0x3700bed0) at sd/source/ui/docshell/docshel2.cxx:159
 #2  0x00007fd0f2168cae in sd::ViewShell::Activate (this=0x3700bed0, bIsMDIActivate=true) at sd/source/ui/view/viewshel.cxx:350
 #3  0x00007fd0f202c41b in sd::DrawViewShell::Activate (this=0x3700bed0, bIsMDIActivate=true) at sd/source/ui/view/drviews1.cxx:84
 #4  0x00007fd115efb7d6 in SfxShell::DoActivate_Impl (this=0x3700bed0, pFrame=0x37066300, bMDI=true) at sfx2/source/control/shell.cxx:326
 #5  0x00007fd115ebed5e in SfxDispatcher::DoActivate_Impl (this=0x370481c0, bMDI=true) at sfx2/source/control/dispatch.cxx:600
 #6  0x00007fd1163b9f00 in SfxViewFrame::DoActivate (this=0x37066300, bUI=true) at sfx2/source/view/viewfrm.cxx:1196
 #7  0x00007fd115da26b6 in SfxApplication::SetViewFrame_Impl (this=0x318c3ba0, pFrame=0x37066300) at sfx2/source/appl/app.cxx:260
 #8  0x00007fd1163c8126 in SfxViewFrame::SetViewFrame (pFrame=0x37066300) at sfx2/source/view/viewfrm.cxx:3652
 #9  0x00007fd1163c02ba in SfxViewFrame::MakeActive_Impl (this=0x37066300, bGrabFocus=false) at sfx2/source/view/viewfrm.cxx:2252
 #10 0x00007fd116374bba in SfxLokHelper::setView (nId=5) at sfx2/source/view/lokhelper.cxx:221
 #11 0x00007fd1164a59ce in doc_setView (nId=5) at desktop/source/lib/init.cxx:6918

Change-Id: Id4883d99009544cee8a239471f3ae65eb3646306
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182443
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Gökay ŞATIR <[email protected]>
s8321414 pushed a commit that referenced this pull request Apr 21, 2025
...as seen during CppunitTest_xmloff_style,

> workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31: runtime error: applying zero offset to null pointer
>  #0 in tt_var_get_item_delta at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1048:31
>  #1 in tt_hvadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1242:13
>  #2 in tt_vadvance_adjust at workdir/UnpackedTarball/freetype/src/truetype/ttgxvar.c:1278:12
>  #3 in tt_face_get_metrics at workdir/UnpackedTarball/freetype/src/sfnt/ttmtx.c:319:11
>  #4 in cff_slot_load at workdir/UnpackedTarball/freetype/src/cff/cffgload.c:660:11
>  #5 in cff_glyph_load at workdir/UnpackedTarball/freetype/src/cff/cffdrivr.c:192:13
>  #6 in FT_Load_Glyph at workdir/UnpackedTarball/freetype/src/base/ftobjs.c:1066:15
>  #7 in _cairo_ft_scaled_glyph_load_glyph at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2455:13
>  #8 in _cairo_ft_scaled_glyph_init at workdir/UnpackedTarball/cairo/src/cairo-ft-font.c:2640:11
>  #9 in _cairo_scaled_glyph_lookup at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:3035:6
>  #10 in _cairo_scaled_font_glyph_device_extents at workdir/UnpackedTarball/cairo/src/cairo-scaled-font.c:2250:15
>  #11 in _cairo_composite_rectangles_init_for_glyphs at workdir/UnpackedTarball/cairo/src/cairo-composite-rectangles.c:476:14
>  #12 in _cairo_compositor_glyphs at workdir/UnpackedTarball/cairo/src/cairo-compositor.c:280:14
>  #13 in _cairo_image_surface_glyphs at workdir/UnpackedTarball/cairo/src/cairo-image-surface.c:1030:12
>  #14 in _cairo_surface_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-surface.c:2920:15
>  #15 in _cairo_gstate_show_text_glyphs at workdir/UnpackedTarball/cairo/src/cairo-gstate.c:2077:15
>  #16 in _cairo_default_context_glyphs at workdir/UnpackedTarball/cairo/src/cairo-default-context.c:1334:12
>  #17 in cairo_show_glyphs at workdir/UnpackedTarball/cairo/src/cairo.c:3670:14
>  #18 in CairoTextRender::DrawTextLayout(GenericSalLayout const&, SalGraphics const&) at vcl/unx/generic/gdi/cairotextrender.cxx:477:9
>  #19 in SvpSalGraphics::DrawTextLayout(GenericSalLayout const&) at vcl/headless/svptext.cxx:72:23
>  #20 in GenericSalLayout::DrawText(SalGraphics&) const at vcl/source/gdi/CommonSalLayout.cxx:171:18
>  #21 in OutputDevice::ImplDrawTextDirect(SalLayout&, bool) at vcl/source/outdev/text.cxx:312:16
>  #22 in OutputDevice::ImplDrawText(SalLayout&) at vcl/source/outdev/text.cxx:463:9
>  #23 in OutputDevice::DrawTextArray(Point const&, rtl::OUString const&, KernArraySpan, std::span<unsigned char const, 18446744073709551615ul>, int, int, SalLayoutFlags, SalLayoutGlyphs const*) at vcl/source/outdev/text.cxx:701:9
>  #24 in SwFntObj::DrawText(SwDrawTextInfo&) at sw/source/core/txtnode/fntcache.cxx:1490:31
>  #25 in SwSubFont::DrawText_(SwDrawTextInfo&, bool) at sw/source/core/txtnode/swfont.cxx:1144:24
>  #26 in SwFont::DrawText_(SwDrawTextInfo&) at sw/source/core/inc/swfont.hxx:324:29
>  #27 in SwTextPaintInfo::DrawText_(rtl::OUString const&, SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, o3tl::strong_int<int, Tag_TextFrameIndex>, bool, bool, bool, bool) at sw/source/core/text/inftxt.cxx:730:21
>  #28 in SwTextPaintInfo::DrawText(SwLinePortion const&, o3tl::strong_int<int, Tag_TextFrameIndex>, bool) const at sw/source/core/text/inftxt.hxx:783:41
>  #29 in SwTextPortion::Paint(SwTextPaintInfo const&) const at sw/source/core/text/portxt.cxx:603:18
>  #30 in SwTextPainter::DrawTextLine(SwRect const&, SwSaveClip&, bool, std::optional<SwTaggedPDFHelper>&, std::optional<SwTaggedPDFHelper>&, bool) at sw/source/core/text/itrpaint.cxx:433:23
>  #31 in SwTextFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/text/frmpaint.cxx:787:23
>  #32 in SwLayoutFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3804:21
>  #33 in SwFlyFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:4507:20
>  #34 in SwVirtFlyDrawObj::wrap_DoPaintObject(drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:541:18
>  #35 in drawinglayer::primitive2d::(anonymous namespace)::SwVirtFlyDrawObjPrimitive::get2DDecomposition(drawinglayer::primitive2d::Primitive2DDecompositionVisitor&, drawinglayer::geometry::ViewInformation2D const&) const at sw/source/core/draw/dflyobj.cxx:244:35
>  #36 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:46:24
>  #37 in drawinglayer::processor2d::VclPixelProcessor2D::processBasePrimitive2D(drawinglayer::primitive2d::BasePrimitive2D const&) at drawinglayer/source/processor2d/vclpixelprocessor2d.cxx:397:13
>  #38 in drawinglayer::processor2d::BaseProcessor2D::process(drawinglayer::primitive2d::Primitive2DContainer const&) at drawinglayer/source/processor2d/baseprocessor2d.cxx:69:21
>  #39 in sdr::contact::ObjectContactOfPageView::DoProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:284:31
>  #40 in sdr::contact::ObjectContactOfPageView::ProcessDisplay(sdr::contact::DisplayInfo&) at svx/source/sdr/contact/objectcontactofpageview.cxx:120:21
>  #41 in SdrPageWindow::RedrawLayer(o3tl::strong_int<short, SdrLayerIDTag> const*, sdr::contact::ViewObjectContactRedirector*, basegfx::B2IRange const*) at svx/source/svdraw/sdrpagewindow.cxx:421:28
>  #42 in SdrPageView::DrawLayer(o3tl::strong_int<short, SdrLayerIDTag>, OutputDevice*, sdr::contact::ViewObjectContactRedirector*, tools::Rectangle const&, basegfx::B2IRange const*) at svx/source/svdraw/svdpagv.cxx:265:27
>  #43 in SwViewShellImp::PaintLayer(o3tl::strong_int<short, SdrLayerIDTag>, SwPageFrame const&, SwRect const&, Color const*, bool, sdr::contact::ViewObjectContactRedirector*) at sw/source/core/view/vdraw.cxx:139:20
>  #44 in SwRootFrame::PaintSwFrame(OutputDevice&, SwRect const&) const at sw/source/core/layout/paintfrm.cxx:3527:33
>  #45 in SwViewShell::PrtOle2(SwDoc*, SwViewOption const*, SwPrintData const&, OutputDevice&, tools::Rectangle const&, bool) at sw/source/core/view/vprint.cxx:592:27
>  #46 in SwDocShell::Draw(OutputDevice*, JobSetup const&, unsigned short, bool) at sw/source/uibase/app/docsh.cxx:881:5
>  #47 in SfxObjectShell::DoDraw_Impl(OutputDevice*, Point const&, Fraction const&, Fraction const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:204:5
>  #48 in SfxObjectShell::DoDraw(OutputDevice*, Point const&, Size const&, JobSetup const&, unsigned short, bool) at sfx2/source/doc/objembed.cxx:151:9
>  #49 in SfxObjectShell::CreatePreview_Impl(bool, VirtualDevice*, GDIMetaFile*) const at sfx2/source/doc/objcont.cxx:198:40
>  #50 in SfxObjectShell::GetPreviewBitmap() const at sfx2/source/doc/objcont.cxx:110:9
>  #51 in SfxObjectShell::WriteThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::io::XStream> const&) at sfx2/source/doc/objstor.cxx:3850:31
>  #52 in SfxObjectShell::GenerateAndStoreThumbnail(bool, com::sun::star::uno::Reference<com::sun::star::embed::XStorage> const&) at sfx2/source/doc/objstor.cxx:3808:33
>  #53 in SfxObjectShell::SaveTo_Impl(SfxMedium&, SfxItemSet const*) at sfx2/source/doc/objstor.cxx:1531:19
>  #54 in SfxObjectShell::PreDoSaveAs_Impl(rtl::OUString const&, rtl::OUString const&, SfxItemSet const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:3117:39
>  #55 in SfxObjectShell::CommonSaveAs_Impl(INetURLObject const&, rtl::OUString const&, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objstor.cxx:2907:9
>  #56 in SfxObjectShell::APISaveAs_Impl(std::basic_string_view<char16_t, std::char_traits<char16_t>>, SfxItemSet&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/objserv.cxx:320:19
>  #57 in SfxBaseModel::impl_store(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&, bool) at sfx2/source/doc/sfxbasemodel.cxx:3233:42
>  #58 in SfxBaseModel::storeToURL(rtl::OUString const&, com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at sfx2/source/doc/sfxbasemodel.cxx:1815:13
>  #59 in UnoApiTest::saveWithParams(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue> const&) at test/source/unoapi_test.cxx:213:16
>  #60 in UnoApiTest::save(rtl::OUString const&, char const*) at test/source/unoapi_test.cxx:178:5
>  #61 in testWritingModeBTLR::TestBody() at xmloff/qa/unit/style.cxx:193:9

Change-Id: I54d4d90e203127e018b99c34785602ac3d96e425
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163925
Tested-by: Jenkins
Reviewed-by: Stephan Bergmann <[email protected]>
(cherry picked from commit 9a8f4fb40867889bb08e4c5e1a89f2dbbf27681a)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183333
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Miklos Vajna <[email protected]>
s8321414 pushed a commit that referenced this pull request Apr 21, 2025
…tyle

It's not clear how to reproduce this problem, but when it happens, an
ODT file can't be saved because of an unhandled exception while
producing styles.xml.

Digging deeper, a container::NoSuchElementException is thrown in
XStyleFamily::getByName(), and when that happens the backtrace is:
	#0  (anonymous namespace)::XStyleFamily::getByName (this=0x28fb8740, rName=...)
	    at sw/source/core/unocore/unostyle.cxx:1031
	#1  0x000075ae461d5d8c in (anonymous namespace)::XStyleFamily::getByIndex (this=0x28fb8740, nIndex=0)
	    at sw/source/core/unocore/unostyle.cxx:1027
	#2  0x000075ae541c4d77 in XMLTextListAutoStylePool::XMLTextListAutoStylePool (this=0x75ae243c1318, rExp=...)
	    at include/com/sun/star/uno/Reference.h:384
I.e. the XMLTextListAutoStylePool gets the NumberingStyles style family,
nStyles is 15, we try to get each numbering style by index, but already
the first fails, because 0 gets turned into a 'Keine Liste' (no list)
name, but getting that internally by name then fails.

Fix the direct problem by catching container::NoSuchElementException in
the XMLTextListAutoStylePool_Impl ctor, not expoting a list style is
better than not being able to save the document at all.

Almost certainly this is an effect of a problem earlier, but this should
improve things till reproducer steps are found for that problem.

Change-Id: Ia9fbe8db9dfe5f90f2583111c3d59b98a914798d
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183402
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-by: Andras Timar <[email protected]>
s8321414 pushed a commit that referenced this pull request Jun 9, 2025
 #0  0x00007f7a68c0c0e7 in SvxSearchDialog::SetSearchLabel (this=0x377326e0, rStr=...)
     at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/unique_ptr.h:461
 #1  0x00007f7a68c1645c in SvxSearchDialog::SvxSearchDialog(weld::Window*, SfxChildWindow*, SfxBindings&) ()
     at /home/collabora/jenkins/workspace/build_core_co-25.04_for_online_snapshot/include/rtl/ustring.hxx:3957
 #2  0x00007f7a68c16a33 in std::_Construct<SvxSearchDialog, weld::Window*, SvxSearchDialogWrapper*, SfxBindings&> (__p=0x377326e0)
     at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_construct.h:109

I'm not sure whether this dialog even makes sense anymore, but lets not
crash for now.

Change-Id: I7c8bb0a317a2b058402194234a1daea5bac0b4de
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185002
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Jenkins CollaboraOffice <[email protected]>
s8321414 pushed a commit that referenced this pull request Jun 9, 2025
 #0  std::vector<std::unique_ptr<SdrPageWindow, std::default_delete<SdrPageWindow> >, std::allocator<std::unique_ptr<SdrPageWindow, std::default_delete<SdrPageWindow> > > >::size (this=<optimized out>) at /opt/rh/devtoolset-12/root/usr/include/c++/12/bits/stl_vector.h:987
 #1  SdrPageView::PageWindowCount (this=<optimized out>) at include/svx/svdpagv.hxx:89
 #2  (anonymous namespace)::ScLOKProxyObjectContact::calculateGridOffsetForViewObjectContact (this=<optimized out>, rTarget=..., rClient=...)
     at sc/source/ui/view/gridwin4.cxx:1467
 #3  0x00007fe8eae62e05 in sdr::contact::ViewObjectContact::getGridOffset (this=this@entry=0x364bdc60)
     at include/svx/sdr/contact/viewobjectcontact.hxx:95
 #4  0x00007fe8eae642fe in sdr::contact::ViewObjectContact::getPrimitive2DSequence (this=this@entry=0x364bdc60, rDisplayInfo=...)
     at svx/source/sdr/contact/viewobjectcontact.cxx:487
 #5  0x00007fe8eae645b1 in sdr::contact::ViewObjectContact::getObjectRange (this=this@entry=0x364bdc60)
     at svx/source/sdr/contact/viewobjectcontact.cxx:209
 #6  0x00007fe8eae64832 in sdr::contact::ViewObjectContact::triggerLazyInvalidate (this=0x364bdc60)
     at svx/source/sdr/contact/viewobjectcontact.cxx:273
 #7  0x00007fe8eae65415 in sdr::contact::ObjectContactOfPageView::Invoke (this=0x7fe8a8103ff0)
     at svx/source/sdr/contact/objectcontactofpageview.cxx:105
 #8  0x00007fe8ebb2b30b in Scheduler::CallbackTaskScheduling () at vcl/source/app/scheduler.cxx:579
 #9  0x00007fe8ebceb21b in SvpSalInstance::StartTimer (nMS=<optimized out>, this=0x2e01000000000000)

Change-Id: Icb71083eb77e528d9025aa7a591892dcdfc2ba89
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185019
Reviewed-by: Miklos Vajna <[email protected]>
Tested-by: Jenkins CollaboraOffice <[email protected]>
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant