View Issue Details

IDProjectCategoryView StatusLast Update
0017207ScribusMaster Pagespublic2024-04-30 07:40
Reporterjock Assigned Tojghali  
Status resolvedResolutionfixed 
Platformx86-64OSWindowsOS VersionWindows 10
Product Version1.6.2.svn 
Fixed in Version1.6.2.svn 
Summary0017207: Crash when selecting a master page to edit
DescriptionI have a 1.8MB Scribus doc, created in v1.6.1

One of my defined master pages has started to trigger a crash every time I attempt to edit it, assign it to a page, or select the items it contains in the Outliner.
Steps To ReproduceEdit > Master Pages... > Manage Masterpages panel > [select problematic master page]
Additional InformationThe problematic master page is relatively simple with a small imported image, gradient fill rectangle as background, and a text box for the page number. It had been working fine until recently, although I have made no recent changes to it that I'm aware of.

Debug when triggering crash in Scribus (console):


QWidget::repaint: Recursive repaint detected
QPainter::begin: A paint device can only be painted by one painter at a time.
QPainter::translate: Painter not active
QPainter::end: Painter not active, aborted

Dialog box on crash:

ASSERT failure in QList<T>::at: "index out of range", file F:\Libraries\Qt-5.15.12\msvc2019_64\include\QtCore\qlist.h, line 571

May be unrelated, but after selecting the problematic master page and after crash occurs, I notice in the X, Y, Z Properties panel that X-Pos and Y-Pos both read: -2087960.654 mm

Happy to share the file that triggers the crash if helpful.
Tagscrash, Qt5



2024-04-27 17:37

reporter   ~0051120

In the description the tilde character before the 1.8MB has been unexpectedly expanded to reference an otherwise unrelated bug report. Apologies - can't edit the original to fix.


2024-04-28 21:30

administrator   ~0051121

>> Happy to share the file that triggers the crash if helpful.

Yeah, the document will be helpful.


2024-04-28 21:58

administrator   ~0051122

Fixed the description. It was the ~


2024-04-29 06:31

manager   ~0051123

i also have experienced crashes with master pages lately...

i will check if i can find something that i can reproduce.


2024-04-29 08:58

reporter   ~0051124

Added file that triggers crash as originally described
Text (1,298,742 bytes)


2024-04-29 09:08

manager   ~0051125

can confirm

1.6.2 crashes when switching to one of the master pages.
1.7.0 (not really up to date) crashes when opening the file...


2024-04-29 16:40

administrator   ~0051126

Last edited: 2024-04-29 17:04

In 1.7.0.svn, I get a crash on opening..

* thread 0000001, queue = '', stop reason = hit program assert
    frame #0: 0x00007ff80b8fc14a libsystem_kernel.dylib`__pthread_kill + 10
    frame 0000001: 0x00007ff80b934ebd libsystem_pthread.dylib`pthread_kill + 262
    frame 0000002: 0x00007ff80b85aa39 libsystem_c.dylib`abort + 126
    frame 0000003: 0x00007ff80b859d1c libsystem_c.dylib`__assert_rtn + 314
  * frame 0000004: 0x00000001007f6706 Scribus`abort_on_error(t=QtFatalMsg, (null)=0x00007ff7bfef9540, m=0x00007ff7bfef9420) at scribuscore.cpp:84:22
    frame 0000005: 0x00000001080e2cce QtCore`qt_message_print(msgType=QtFatalMsg, context=0x00007ff7bfef9540, message=0x00007ff7bfef9420) at qlogging.cpp:1984:9 [opt]
    frame 0000006: 0x00000001080de441 QtCore`qt_message(msgType=QtFatalMsg, context=<unavailable>, msg=<unavailable>, ap=<unavailable>) at qlogging.cpp:375:5 [opt]
    frame 0000007: 0x00000001084514e8 QtCore`QMessageLogger::fatal(this=<unavailable>, msg=<unavailable>) const at qlogging.cpp:901:5 [opt]
    frame 0000008: 0x0000000108450bf1 QtCore`qt_assert_x(where=<unavailable>, what=<unavailable>, file=<unavailable>, line=<unavailable>) at qassert.cpp:77:14 [opt]
    frame 0000009: 0x000000010017414a Scribus`QList<ScPage*>::at(this=0x00007fc61b0bdd28, i=23) const at qlist.h:429:9
    frame 0000010: 0x0000000100437a14 Scribus`PageItem_TextFrame::layout(this=0x00007fc689b29a00) at pageitem_textframe.cpp:1729:37
    frame 0000011: 0x0000000100444afe Scribus`PageItem_TextFrame::DrawObj_Item(this=0x00007fc689b29a00, p=0x00007fc68a19b600, cullingArea=0x00007ff7bfefcf20) at pageitem_textframe.cpp:3060:3
    frame 0000012: 0x0000000100369135 Scribus`PageItem::DrawObj(this=0x00007fc689b29a00, p=0x00007fc68a19b600, cullingArea=(xp = 0, yp = 0, w = 1040, h = 8259)) at pageitem.cpp:1604:3
    frame 0000013: 0x00000001003e43ff Scribus`PageItem_Group::DrawObj_Item(this=0x00007fc689b32c00, p=0x00007fc68a19b600, (null)=0x00007ff7bfefd4f0) at pageitem_group.cpp:263:13
    frame 0000014: 0x0000000100369135 Scribus`PageItem::DrawObj(this=0x00007fc689b32c00, p=0x00007fc68a19b600, cullingArea=(xp = 100, yp = 20, w = 421, h = 596)) at pageitem.cpp:1604:3
    frame 0000015: 0x000000010017af86 Scribus`Canvas::DrawPageItems(this=0x0000600000e95680, painter=0x00007fc68a19b600, layer=0x00007ff7bfefd938, clip=(x1 = 100, y1 = 20, x2 = 519, y2 = 614), notesFramesPass=false) at canvas.cpp:1535:15
    frame 0000016: 0x00000001008fc9ad Scribus`ScribusView::MPageToPixmap(this=0x00007fc66875ecf0, name=0x0000600002862020, maxGr=60, drawFrame=true) at scribusview.cpp:2430:13
    frame 0000017: 0x0000000100cf81ca Scribus`PagePalette_Pages::rebuildMasters(this=0x00006000008880e0) at pagepalette_pages.cpp:321:38
    frame 0000018: 0x0000000100cf2ee1 Scribus`PagePalette::rebuildMasters(this=0x00006000003a6400) at pagepalette.cpp:95:15
    frame 0000019: 0x0000000100cf2ca9 Scribus`PagePalette::rebuild(this=0x00006000003a6400) at pagepalette.cpp:110:2
    frame 0000020: 0x000000010078bfb4 Scribus`ScribusMainWindow::loadDoc(this=0x00007fc68b02d400, fileName=0x00007ff7bfefef50) at scribus.cpp:3727:15
    frame 0000021: 0x000000010078cc60 Scribus`ScribusMainWindow::startUpDialog(this=0x00007fc68b02d400) at scribus.cpp:2051:5
    frame 0000022: 0x00000001007f6b08 Scribus`ScribusCore::startGUI(this=0x00007fc689140e10, showSplash=true, showFontInfo=false, showProfileInfo=false, newGuiLanguage=0x00007ff7bfeff3d0) at scribuscore.cpp:144:15
    frame 0000023: 0x00000001007f508e Scribus`ScribusQApp::init(this=0x00007ff7bfeff388) at scribusapp.cpp:368:23
    frame 0000024: 0x00000001000c89c9 Scribus`mainApp(argc=1, argv=0x00007ff7bfeff6d0) at main_nix.cpp:93:22
    frame 0000025: 0x00000001000c86a2 Scribus`main(argc=1, argv=0x00007ff7bfeff6d0) at main_nix.cpp:51:9


2024-04-29 17:06

administrator   ~0051127

When loading in 1.6.2.svn under lldb, I get no crash. With 1.6.2.svn without a debugger, I get the master page crash


2024-04-29 18:52

reporter   ~0051128

Thanks for investigating, @jghali @ale and @cbradney, I appreciate the help


2024-04-29 19:52

administrator   ~0051129

Got it! Committed the fix as r26120 in 1.6.x branch and r26121 in trunk.


2024-04-30 07:39

manager   ~0051130

Last edited: 2024-04-30 07:40

mmm... is there any reason for the group's item to have a different OwnPage than the group?

if that should not be possible, i guess that it would be better to reset OwnPage when creating the group...
(and make sure that, when ungrouping, OwnPage will get the right value)

i fear that there are other bugs similar to this little glitch...

Issue History

Date Modified Username Field Change
2024-04-27 17:22 jock New Issue
2024-04-27 17:22 jock Tag Attached: crash
2024-04-27 17:22 jock Tag Attached: Qt5
2024-04-27 17:37 jock Note Added: 0051120
2024-04-28 21:30 jghali Note Added: 0051121
2024-04-28 21:58 cbradney Description Updated
2024-04-28 21:58 cbradney Note Added: 0051122
2024-04-29 06:31 ale Note Added: 0051123
2024-04-29 08:58 jock Note Added: 0051124
2024-04-29 08:58 jock File Added: Text
2024-04-29 09:08 ale Note Added: 0051125
2024-04-29 16:40 cbradney Note Added: 0051126
2024-04-29 17:04 cbradney Note Edited: 0051126
2024-04-29 17:06 cbradney Note Added: 0051127
2024-04-29 18:52 jock Note Added: 0051128
2024-04-29 19:52 jghali Note Added: 0051129
2024-04-29 19:53 jghali Assigned To => jghali
2024-04-29 19:53 jghali Status new => resolved
2024-04-29 19:53 jghali Resolution open => fixed
2024-04-29 19:53 jghali Fixed in Version => 1.6.2.svn
2024-04-30 07:39 ale Note Added: 0051130
2024-04-30 07:40 ale Note Edited: 0051130