Bug 708735

Summary: [RFE] Show column and line on XML parsing error
Product: Red Hat Enterprise Linux 6 Reporter: Saggi Mizrahi <smizrahi>
Component: libvirtAssignee: Peter Krempa <pkrempa>
Status: CLOSED ERRATA QA Contact: Virtualization Bugs <virt-bugs>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.3CC: bazulay, bsarathy, dallan, dyuan, mzhan, rwu, ydu, yupzhang
Target Milestone: rcKeywords: FutureFeature
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: libvirt-0.9.9-1.el6 Doc Type: Enhancement
Doc Text:
No Documentation needed
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 06:28:04 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Saggi Mizrahi 2011-05-29 08:42:26 UTC
Description of problem:
I would like to be able to see a context output similar to what a compiler gives on XML parsing errors

example output

Parsing error too many >
Line 435, Column 35:
     <element>Funky Text</elemnt>> <thingy/>
-----------------------------------^

Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.
  
Actual results:


Expected results:


Additional info:

Comment 2 Peter Krempa 2011-09-06 10:15:21 UTC
Fixed in upstream:


commit 9fd3bb7a88bd41a5cf4830529b3b3c87260be62e
Author: Peter Krempa <pkrempa>
Date:   Tue Sep 6 15:48:22 2011 +0800

    XML: Improve XML parsing error messages
    
    This patch modifies error handling function for the XML parser provided
    by libxml2.
    
    Originaly only a line number and error message were logged. With this
    new error handler function, the user is provided with a more complex
    description of the parsing error.
    
    Context of the error is printed in libXML2 style and filename of the
    file, that caused the error is printed. Example of an parse error:
    
    13:41:36.262: 16032: error : catchXMLError:706 :
    /etc/libvirt/qemu/rh_bad.xml:58: Opening and ending tag mismatch: name
    line 2 and domain
    </domain>
    ---------^
    
    Context of the error gives the user hints that may help to quickly
    locate a corrupt xml file.

Comment 4 yuping zhang 2012-01-10 03:21:32 UTC
Verified this issue with:

libvirt-client-0.9.9-1.el6.x86_64
libvirt-0.9.9-1.el6.x86_64
libvirt-python-0.9.9-1.el6.x86_64

1.# virsh edit 2
error: (domain_definition):5: StartTag: invalid element name
  <currentMemory>2048576<</currentMemory>
-------------------------^

2.libvirtd.log
2012-01-10 03:07:45.056+0000: 1812: error : catchXMLError:711 : (domain_definition):5: StartTag: invalid element name
  <currentMemory>2048576<</currentMemory>
-------------------------^

So change the status to VERIFIED.

Comment 5 Peter Krempa 2012-05-02 13:04:11 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
No Documentation needed

Comment 7 errata-xmlrpc 2012-06-20 06:28:04 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHSA-2012-0748.html