Bug 149946 - FILEOPEN Unable to open CorelDraw X4 cdr files
Summary: FILEOPEN Unable to open CorelDraw X4 cdr files
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: Draw (show other bugs)
Version:
(earliest affected)
7.0.6.2 release
Hardware: All All
: medium normal
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: bibisected, bisected, regression
Depends on:
Blocks: File-Opening
  Show dependency treegraph
 
Reported: 2022-07-11 09:08 UTC by Jack O'Sullivan
Modified: 2023-06-05 15:24 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:


Attachments
CorelDraw X4 cdr showing some sheet music (52.09 KB, application/zip)
2022-07-11 09:08 UTC, Jack O'Sullivan
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jack O'Sullivan 2022-07-11 09:08:16 UTC
Created attachment 181223 [details]
CorelDraw X4 cdr showing some sheet music

I am unable to open CorelDraw X4 cdr files. In the GUI I get a simple "General Error. General input/output error.", and from the CLI I get "Error: source file could not be loaded".

I don't know exactly when this was introduced, but the files opened in 5.3.5.2. 

I have tried 7.0.6.2 and 7.2.7.2 on Linux, and 7.2.7.2 on Windows with no success.

I have attached an example file, which should show as a line of sheet music. The CDR format itself is a ZIP based format, and there is a thumbnail BMP of the content in the zip under "metadata/thumbnails".
Comment 1 raal 2022-07-11 12:36:49 UTC
Confirm with Version: 7.4.0.0.alpha1+ (x64) / LibreOffice Community
Build ID: de8eafffbd5dd1a73be6cd60b5499655c189580b
CPU threads: 4; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win
Locale: cs-CZ (cs_CZ); UI: en-US
Calc: CL

works in Version: 5.2.0.0.alpha1+
Comment 2 raal 2022-07-11 12:55:20 UTC
bisected to  ef28780569e4355f2a78667d0c74614bf654c013 is the first bad commit
commit ef28780569e4355f2a78667d0c74614bf654c013
Author: Norbert Thiebaud <nthiebaud@gmail.com>
Date:   Sat Feb 8 07:45:36 2020 -0800

    source 85dc497f1556ebc53f482e382f48e98b9560b983

https://gerrit.libreoffice.org/c/core/+/88236
   upload libcdr 0.1.6

Adding CC: to David Tardon
Comment 3 Julien Nabet 2022-07-11 21:17:23 UTC
On pc Debian x86-64 with master sources updated today, I could reproduce this.

Here are the logs:
Record: level 0 RIFF, length: 0x00008514 (34068)
CDR listType: CDRE
Record: level 1 vrsn, length: 0x00000002 (2)
Record: level 1 LIST, length: 0x00000034 (52)
CDR listType: cmpr
Record: level 1 LIST, length: 0x000084c2 (33986)
CDR listType: cmpr
Record: level 2 LIST, length: 0x00003834 (14388)
CDR listType: doc 
Record: level 3 pfrd, length: 0x00000002 (2)
Record: level 3 mcfg, length: 0x00002005 (8197)
Record: level 3 ptrt, length: 0x00000010 (16)
Record: level 3 LIST, length: 0x000004c4 (1220)
CDR listType: fntt
Record: level 4 font, length: 0x00000128 (296)
Record: level 4 font, length: 0x00000128 (296)
Record: level 4 font, length: 0x00000128 (296)
Record: level 4 font, length: 0x00000128 (296)
Record: level 3 LIST, length: 0x00000040 (64)
CDR listType: arrt
Record: level 4 arrw, length: 0x00000034 (52)
CDRParser::readArrw
Record: level 3 LIST, length: 0x0000028e (654)
CDR listType: filt
Record: level 4 LIST, length: 0x00000058 (88)
CDR listType: filc
Record: level 5 fild, length: 0x0000004c (76)
CDRParser::_resolveColorPalette --> model 0x3 -- palette 0x5 -- value 0xff000000
CDRParser::_resolveColorPalette resolved --> model 0x3 -- palette 0x5 -- value 0xff000000
Record: level 4 LIST, length: 0x00000058 (88)
CDR listType: filc
Record: level 5 fild, length: 0x0000004c (76)
CDRParser::_resolveColorPalette --> model 0x2 -- palette 0x5 -- value 0x64000000
CDRParser::_resolveColorPalette resolved --> model 0x2 -- palette 0x5 -- value 0x64000000
Record: level 4 LIST, length: 0x000000a4 (164)
CDR listType: filc
Record: level 5 fild, length: 0x00000098 (152)
CDRParser::_resolveColorPalette --> model 0x5 -- palette 0x5 -- value 0x66cc
CDRParser::_resolveColorPalette resolved --> model 0x5 -- palette 0x5 -- value 0x66cc
CDRParser::_resolveColorPalette --> model 0x0 -- palette 0x500 -- value 0xcc000000
CDRParser::_resolveColorPalette resolved --> model 0x0 -- palette 0x500 -- value 0xcc000000
Throwing EndOfStreamException