View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000229KdenliveFile Loadingpublic2008-10-19 21:252009-06-15 00:57
Assigned Toxzhayon 
PlatformOSOS Version
Product VersionRecent git 
Target VersionFixed in Version 
Summary0000229: Invalid XML in .kdenlive file sometimes crashes Kdenlive sometimes results in no errors - implement validation and response
DescriptionIf you pass Kdenlive something that is not a valid kdenlive file, but almost, Kdenlive will crash. If you pass it something that not a kdenlive file at all, it will sometimes just ignore it.

This is "bad" - a program should try to validate its input files, and give a gracefull response.

Note that I have set a low priority on this issue - its a long term thing, IMHO, but neccesary for a robust program.
Steps To ReproduceLoad the attached file (test-error.kdenlive) and it will crash (crash log follows).
Additional InformationSince kdenlives input files are all XML, Kdenlive could support "wellformed" and "valid" for the input files, and possibly even an internal test.

Wellformed: A check that the input file is actually wellformed xml, complain if not (test-error.kdenlive is not wellformed).

Valid: A check that a wellformed input file is valid against a DTD or, more reasonably, an xsd ( [^]). Complain if not, or possibly ask if user wants to continue.

Both wellformed and valid check should be supported by whatever library kdenlive uses to parse XML(??). (The later requires an xsd, of course).

Internal test: Check that the internal rules of the input is ok. Example: If a marker references an id, a kdenlive_producer with that id should be present. And so on.

Again: This is low priority.
TagsNo tags attached.
Build/Install Method
Attached Files? file icon test-error.kdenlive [^] (2,302 bytes) 2008-10-19 21:25
? file icon test-error2.kdenlive [^] (5 bytes) 2008-10-19 21:25
? file icon kbw.gdb.output.VlV30697 [^] (59,382 bytes) 2008-10-19 21:26

- Relationships
related to 0000237closed Unable to open Kdenlive 0.4 project (project file version 0.5) - let user know not supported 

-  Notes
madsdyd (administrator)
2008-10-19 21:28

Attached two files:

test-error2.kdenlive - nonsense input file, which is ignored by Kdenlive
kbw.gdb.output.VIV30697 - crash log from reading test-error.kdenlive.

Final point: This is probably not a GUI issue, but nothing else seems to match. Should there be a "Input file" or "Core" category, or something like it?
madsdyd (administrator)
2008-10-24 13:30

Changing to acknowledged, as it is a feature request, setting target version for 0.7.1, although it will probably be later than that.
ddennedy (developer)
2008-11-23 07:02

FYI, there is a westley DTD. Trying to create a westley producer object should return null if it is not well formed, but westley does not validate.
xzhayon (developer)
2009-06-10 23:30

a first implementation is in rev. 3513
at the moment it tries to make sure the file has the minimum information needed to start and work without crashes (it's just started, and needs lots of additions). it would be absolutely great to add all the checks suggested by mads

now, to answer all the questions:
- wellformed: i think that the QDomDocument should be NULL or similar if it's not wellformed xml, so this should be easy to check
- valid xsd: an xsd parser will be added in qt 4.6; while waiting for it, only internal checks will be made
- valid dtd: i'm not aware of a dtd parser in qt, and i don't think we should link against another library only to validate our project file
xzhayon (developer)
2009-06-11 03:59

yes, loading a malformed document already returns an error and creates a new project

- Issue History
Date Modified Username Field Change
2008-10-19 21:25 madsdyd New Issue
2008-10-19 21:25 madsdyd File Added: test-error.kdenlive
2008-10-19 21:25 madsdyd File Added: test-error2.kdenlive
2008-10-19 21:26 madsdyd File Added: kbw.gdb.output.VlV30697
2008-10-19 21:28 madsdyd Note Added: 0000474
2008-10-21 20:42 madsdyd Relationship added related to 0000237
2008-10-24 13:30 madsdyd Note Added: 0000651
2008-10-24 13:30 madsdyd Status new => acknowledged
2008-10-24 13:30 madsdyd Category User Interface => File Loading
2008-10-24 13:30 madsdyd Target Version Recent git => 0.7.1
2008-11-17 20:54 madsdyd Target Version 0.7.1 => future version
2008-11-23 07:02 ddennedy Note Added: 0001358
2009-06-10 23:30 xzhayon Note Added: 0003154
2009-06-10 23:30 xzhayon Status acknowledged => feedback
2009-06-11 03:59 xzhayon Note Added: 0003159
2009-06-15 00:57 xzhayon Status feedback => assigned
2009-06-15 00:57 xzhayon Assigned To => xzhayon

Copyright © 2000 - 2016 MantisBT Team
Powered by Mantis Bugtracker