|Anonymous | Login | Signup for a new account||2014-04-18 20:30 CEST|
|My View | View Issues | Change Log | Roadmap|
|View Issue Details|
|ID||Project||Category||View Status||Date Submitted||Last Update|
|0000229||Kdenlive||File Loading||public||2008-10-19 21:25||2009-06-15 00:57|
|Product Version||Recent git|
|Target Version||future version||Fixed in Version|
|Summary||0000229: Invalid XML in .kdenlive file sometimes crashes Kdenlive sometimes results in no errors - implement validation and response|
|Description||If 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 Reproduce||Load the attached file (test-error.kdenlive) and it will crash (crash log follows).|
|Additional Information||Since 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 (http://en.wikipedia.org/wiki/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.
|Tags||No tags attached.|
|Attached Files|| test-error.kdenlive [^] (2,302 bytes) 2008-10-19 21:25|
test-error2.kdenlive [^] (5 bytes) 2008-10-19 21:25
kbw.gdb.output.VlV30697 [^] (59,382 bytes) 2008-10-19 21:26
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?
|Changing to acknowledged, as it is a feature request, setting target version for 0.7.1, although it will probably be later than that.|
|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.|
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
|yes, loading a malformed document already returns an error and creates a new project|
|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 - 2014 MantisBT Team|