I'm testing some XML stuff locally on UV PE 11.2 and I've run into a problem I 
can't figure out.  I hope someone else knows what's going on here and has a 
work-around.

I'm running this test on CentOS 6.5 with UniVerse PE 11.2.  I get a core dump 
as soon as I attempt the XMAPOpen.  It appears to only happen when the 
ColumnMap Node begins with a comma.  The same data, map and code works without 
problem on an AIX machine.

MAP ...
<?xml version="1.0" encoding="UTF-8"?>
<!-- DOCTYPE U2XMAP SYSTEM "U2UXMAP.DTD" -->
<U2XMAP Version="1.0" Name="XMAP1">
   <TABLECLASSMAP MapName="M1" StartNode="/RESPONSE" TableName="WEATHER">
      <ColumnMap Node="/HOME/text()" Column="@ID" />
      <ColumnMap Node="/FOREIGN/text()" Column="FOREIGN" />
      <ColumnMap Node="/UNITS,text()" Column="UNITS" />
      <ColumnMap Node="/NUMBER,text()" Column="NUMBER" />
      <ColumnMap Node=",INFO,DATE/text()" Column="DATE" />
      <ColumnMap Node=",INFO,CITY/text()" Column="CITY" />
      <ColumnMap Node=",INFO,TEMP/text()" Column="TEMP" />
   </TABLECLASSMAP>
</U2XMAP>

XML DATA...
<RESPONSE>
    <HOME>USA</HOME>
    <FOREIGN>TWN</FOREIGN>
    <UNITS>F</UNITS>
    <NUMBER>1</NUMBER>
    <INFO>
       <DATE>Sun, 02 Feb 2014 19:00:00 GMT</DATE>
       <CITY>Taipei</CITY>
       <TEMP>40</TEMP>
    </INFO>
    <HOME>USA</HOME>
    <FOREIGN>CAN</FOREIGN>
    <UNITS>F</UNITS>
    <NUMBER>2</NUMBER>
    <INFO>
       <DATE>Sun, 02 Feb 2014 19:00:00 GMT</DATE>
       <CITY>Toronto</CITY>
       <TEMP>35</TEMP>
    </INFO>
</RESPONSE>

CODE...
INCLUDE UNIVERSE.INCLUDE XML.H
open '&XML&' to xml.file else stop
xml.id = "temps.xml"
map.id = "temps.map"
read xml.rec from xml.file,xml.id else
   crt "Can't read ":xml.id:" from &XML& file"
   stop
end
convert @am to '' in xml.rec
ERR1=XDOMOpen(xml.rec,XML.FROM.STRING,DOMH)
IF ERR1 # XML.SUCCESS THEN
   crt "Can't do XDOMOpen()"
   RETURN
END
ERR1=XMAPOpen(xml.rec, XML.FROM.STRING, map.id, XML.FROM.FILE, XMAPhandle)
IF ERR1 # XML.SUCCESS THEN
   crt "XMAPOpen failed"
   RETURN
END

This is the top part of the resulting stack dump:
*** glibc detected *** /usr/uv/bin/uv: free(): invalid pointer: 0x0031423e ***
======= Backtrace: =========
/lib/libc.so.6[0x98de31]
/usr/lib/libstdc++.so.6(_ZdlPv+0x22)[0x7dee552]
/usr/uv/bin/libu2xml.so(_ZN6U2XMAP10readrecordEP4XMAPPKN11xercesc_3_17DOMNodeE+0x555)[0x304a3d]
/usr/uv/bin/libu2xml.so(_ZN6U2XMAP12xmaptorecordEP4XMAPPKN11xercesc_3_17DOMNodeE+0x68)[0x304b84]
/usr/uv/bin/libu2xml.so(_ZN6U2XMAP10GenXRecordEv+0x31)[0x304cd5]
/usr/uv/bin/libu2xml.so(U2_XMAPOpen+0xfc)[0x2fc29e]
/usr/uv/bin/uv[0x847215e]
/usr/uv/bin/uv[0x83128d4]
/usr/uv/bin/uv[0x81e3a46]
/usr/uv/bin/uv[0x81e6620]
/usr/uv/bin/uv[0x812d188]
/usr/uv/bin/uv[0x8063a1d]
/usr/uv/bin/uv[0x81b1a78]
/usr/uv/bin/uv[0x805f7a2]
/usr/uv/bin/uv[0x804f397]
/usr/uv/bin/uv[0x804d475]
/lib/libc.so.6(__libc_start_main+0xe6)[0x933d26]
/usr/uv/bin/uv[0x804c831]


bob little
applications architect
independent contractor
market america, inc.
1302 pleasant ridge rd.
greensboro, nc  27409
Phone: 336-698-4367
Cell: 248-675-5515
Skype: boblittle904

_______________________________________________
U2-Users mailing list
[email protected]
http://listserver.u2ug.org/mailman/listinfo/u2-users

Reply via email to