Bug 144461 - Crash in: SvTreeListEntry::NextSibling()
Summary: Crash in: SvTreeListEntry::NextSibling()
Status: RESOLVED DUPLICATE of bug 144564
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Writer (show other bugs)
(earliest affected) release
Hardware: x86-64 (AMD64) Windows (All)
: medium normal
Assignee: Not Assigned
Depends on:
Reported: 2021-09-13 05:16 UTC by Dan Carr
Modified: 2021-10-11 22:02 UTC (History)
2 users (show)

See Also:
Crash report or crash signature: ["SvTreeListEntry::NextSibling()"]
Regression By:

Label template used in crash situation (17.00 KB, application/vnd.oasis.opendocument.text)
2021-09-13 19:10 UTC, Dan Carr
spreadsheet w/modified data used for label creation (18.27 KB, application/vnd.oasis.opendocument.spreadsheet)
2021-09-13 19:12 UTC, Dan Carr

Note You need to log in before you can comment on or make changes to this bug.
Description Dan Carr 2021-09-13 05:16:23 UTC
This bug was filed from the crash reporting server and is br-f5f84f10-4f3a-4aee-95eb-e3cdff834037.
I was modifying a Label template and when I attempted to print to a file, the application crashed.  
I opened the template. 
I changed a line of print in the label
I selected synchronize labels
I selected PRINT to FILE, selected a limited number of entries to fill one page
The application disappeared from my screen. 
When I attempted to re-open the file, I received the crash report notification. 

I have had several crashes creating labels since updating to but did not keep track of the process that created the crash. 

And at some point in the process of creating a database using a spreadsheet and a labels I checked a box to suppress lines with blank fields but that does not happen.
Comment 1 Xisco Faulí 2021-09-13 07:34:47 UTC
Thank you for reporting the bug. Please attach a sample document, as this makes it easier for us to verify the bug. 
I have set the bug's status to 'NEEDINFO'. Please change it back to 'UNCONFIRMED' once the requested document is provided.
(Please note that the attachment will be public, remove any sensitive information before attaching it. 
See https://wiki.documentfoundation.org/QA/FAQ#How_can_I_eliminate_confidential_data_from_a_sample_document.3F for help on how to do so.)
Comment 2 Alex Thurgood 2021-09-13 14:22:17 UTC
@Xisco :

As it revolves around SvTreeListEntry, suspect this might be one for @Caolan ?
Comment 3 Dan Carr 2021-09-13 19:10:04 UTC
Created attachment 175008 [details]
Label template used in crash situation
Comment 4 Dan Carr 2021-09-13 19:12:49 UTC
Created attachment 175009 [details]
spreadsheet w/modified data used for label creation

I did not create a database for this modified version of the spreadsheet.
Comment 5 Dan Carr 2021-09-14 17:10:59 UTC
While attempting to work around this issue, I started over with a different version of the spreadsheet, created a new database and a new template.  Before saving the template, I attempted to print a sample run.  LO crashed without saving the template.  I restarted at creating new label, LO brought up the fields from the crashed version, I saved as a template, attempted to print and LO crashed.
Comment 6 Xisco Faulí 2021-09-15 09:42:33 UTC
I can't reproduce it in

Version: (x86) / LibreOffice Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 2; OS: Windows 6.1 Service Pack 1 Build 7601; UI render: default; VCL: win
Locale: ar-DZ (es_ES); UI: es-ES
Calc: threaded

Steps I'm following:
1. Open the ODT file
2. Edit - Exchange database - Select the ODS
3. File - Print
4. Print to document

-> No crash

Please, explain the specific steps to reproduce the crash
Comment 7 Alex Thurgood 2021-09-15 10:34:30 UTC
@Xisco : from the crash trace, the crash seems to be caused by removing one or more data entries from the label, and then either "synching" or attempting to activate the mailmerge ("printing"), which presumably requires the SVtree to be reloaded or re-indexed in some way in order to execute the nextSibling() function.
Comment 8 Alex Thurgood 2021-09-15 10:36:37 UTC
@Dan : we need precise steps of what to do when editing the label template in order to reproduce the crash, otherwise we could spend ages trying different things and not getting anywhere.
Comment 9 Alex Thurgood 2021-09-15 10:44:29 UTC
@Dan :

The fields in the label template document point to a database called MemberextractV4 and a table within that database called Webexport210905.

Are we supposed to swap those database links for the spreadsheet ?

Did you use Exchange Database for this, or did you change all of the fields manually after having registered the spreadsheet as a new datasource ?

Do all of the fields in the label template correspond to columns in the spreadsheet ?
Comment 10 Alex Thurgood 2021-09-15 10:57:11 UTC
Here's what I tried :

Loaded the Writer label document into :

Version: / LibreOffice Community
Build ID: 9a9c6381e3f7a62afc1329bd359cc48accb6435b
CPU threads: 8; OS: Mac OS X 11.5.2; UI render: default; VCL: osx
Locale: fr-FR (fr_FR.UTF-8); UI: fr-FR
Calc: threaded

Re-assigned the fields in the Writer document to point to BugSheet1.ods and used the corresponding field names.

The only field I couldn't reassign was the final one, which didn't seem to be linked to anything in the old datasource (some kind of control field ?)

Clicked on Synchronize labels.
Saved the Writer label document.
Then typed Cmd-P (print) to launch the mailmerge wizard.
In the mailmerge wizard, I took all of the data from the linked ODS file, no filtering or anything else.
Selected output to single file.
79 labels were created with common content.
No crash.

Under those conditions, no repro.
Comment 11 Alex Thurgood 2021-09-15 11:07:24 UTC
Am wondering whether bug 14491 is a DUP of this report, in which it appears specific to Windows.
Comment 12 Dan Carr 2021-09-15 20:46:42 UTC
In an attempt to document the process, I followed the following steps and was UNABLE to recreate a crash with the newly created artifacts.  However, I tried to run the actual label run and it crashed generating a new crash report identified in step 13.  I guess I will try recreating the actual label with new DB and template. 
I had uninstalled 7.2, reinstalled 7.0.5 in an attempt to actually generate the label list, saw your email updates and reinstalled 7.2. This is the process I used for the two runs. 

    1. Opened Spreadsheet 'Bugsheet.ods'
    2. Manipulated column widths, created two new columns before SecLastName, SecFirstName, added function to concat those two fields in new column1, copied new column1 and pasted special (values only) to new column2, deleted new column1, SecLastName, SecFirstName columns, Saved file
    3. Created db from spreadsheet 'Bugsheet.ods' resulting in BugDB.odb
    4. Selected File, New, Labels
    5. Selected BugDB, selected Sheet1
    6. Selected fields and selected New Document
    7. Modified label document by removing duplicate Email field, adding text and verifying paragraph marks were correct
    8. Saved as DebugTemplate.ott
    9. Selected Print, 'Yes' to 'Print a form letter'
    10. Selected All, File, one document on Mail Merge
    11. Saved the file and it completed successfully
    12. I tried to run the original file with the original database and it crashed generating the following crash report:
    13. https://crashreport.libreoffice.org/stats/crash_details/87e81510-3d2d-4dcb-b5ca-b0a8cdb26d85
Comment 13 Dan Carr 2021-09-15 21:32:16 UTC
I tried recreating the DB and template using the actual spreadsheet. 
1. Saved spreadsheet under new name
2. Created DB over spreadsheet
3. Opened Test Doc
4. Selected File, New, Labels
5. Selected and Moved fields into setup and New Document
6. Moved fields into position adding text to some fields
7.  Synchronized fields
8. Saved file as xxx.ott
9 Selected Print, Yes and LO crashed: https://crashreport.libreoffice.org/stats/crash_details/a787b72b-6a92-493c-9ed0-04b4f451be90
Comment 14 Dan Carr 2021-09-15 21:34:51 UTC
Step 2 in previous comment should read Text Document
Comment 15 Alex Thurgood 2021-09-16 10:06:33 UTC
(In reply to Dan Carr from comment #13)

> 5. Selected and Moved fields into setup and New Document
> 6. Moved fields into position adding text to some fields

Could you explain in more detail what you mean by steps 5 and 6 ?

Step 5
Is step 5 where you drag and drop the field names from the registered datasource onto the label document ?

Step 6
What do you mean by moved fields into position ? 

Where did you move them after dragging and dropping them into the label document?

What do you mean by adding text to some fields ? 
Normally, you can't alter the fields themselves, as they are placeholders for the data from the datasource, so how are you adding text to these placeholders ?

Or are you just adding text strings next to the field placeholders ?
Comment 16 Dan Carr 2021-09-16 17:43:48 UTC
> 5. Selected and Moved fields into setup and New Document
> 6. Moved fields into position adding text to some fields

Could you explain in more detail what you mean by steps 5 and 6 ?

Your assumptions were correct. 
Step 5 I selected the fields from the registered database and moved them onto the label form.  

Step 6 I ensured that positioning was correct by inserting new paragraph characters and inserted text descriptions adjacent to some of the database fields.
Comment 17 Xisco Faulí 2021-09-29 08:58:49 UTC
Hello Dan,
It looks like a duplicate of bug 144564

Could you please try to reproduce it with a master build from http://dev-builds.libreoffice.org/daily/master/ ?
You can install it alongside the standard version.

*** This bug has been marked as a duplicate of bug 144564 ***
Comment 18 Dan Carr 2021-10-11 22:02:09 UTC
I installed and the label print worked successfully. 
Sorry for the delay, but had issues with trying to run two versions.  

Thanks for all of the efforts of everyone to resolve this issue.