Skip to content

Instantly share code, notes, and snippets.

@flavorjones
Last active April 30, 2023 13:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save flavorjones/0902cfc1467d44417979060dd3f11971 to your computer and use it in GitHub Desktop.
Save flavorjones/0902cfc1467d44417979060dd3f11971 to your computer and use it in GitHub Desktop.
repro of libxml2 memory leak in v2.11.0
#! /usr/bin/env bash
set -eux
prefix=$(pwd)/local
rm -rf $prefix
pushd $HOME/code/oss/libxml2
./configure -C --prefix=$prefix --without-python --without-readline --with-c14n --with-debug --with-threads --with-iconv=yes --host=x86_64-pc-linux-gnu CFLAGS="-O2 -g -std=c89 -D_XOPEN_SOURCE=700"
make && make install
make distclean
popd
make clean
make
LD_LIBRARY_PATH=./local/lib:$LD_LIBRARY_PATH valgrind --error-exitcode=42 --leak-check=full ./foo foo.xsd valid.xml
#include <libxml/xmlschemas.h>
void validate(xmlSchemaPtr schema, const char *filename) {
xmlSchemaValidCtxtPtr valid_ctxt = xmlSchemaNewValidCtxt(schema);
xmlSchemaValidateFile(valid_ctxt, filename, 0);
xmlSchemaFreeValidCtxt(valid_ctxt);
}
int main(int argc, char **argv) {
if (argc < 2) {
fprintf(stderr, "Usage: %s <schemafile> <documentfile>\n", argv[0]);
return 1;
}
fprintf(stderr, "using libxml2 version %s\n", xmlParserVersion);
const char* schemafile = argv[1];
const char* documentfile = argv[2];
xmlDocPtr document = xmlReadFile(schemafile, NULL, 0);
xmlSchemaParserCtxtPtr parser_context = xmlSchemaNewDocParserCtxt(document);
xmlSchemaPtr schema = xmlSchemaParse(parser_context);
for (int j = 0; j < 1000; j++) {
validate(schema, documentfile);
}
xmlSchemaFreeParserCtxt(parser_context);
xmlSchemaFree(schema);
xmlFreeDoc(document);
}
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:annotation>
<xsd:documentation xml:lang="en">
Purchase order schema for Example.com.
Copyright 2000 Example.com. All rights reserved.
</xsd:documentation>
</xsd:annotation>
<xsd:element name="purchaseOrder" type="PurchaseOrderType"/>
<xsd:element name="comment" type="xsd:string"/>
<xsd:complexType name="PurchaseOrderType">
<xsd:sequence>
<xsd:element name="shipTo" type="USAddress"/>
<xsd:element name="billTo" type="USAddress"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="items" type="Items"/>
</xsd:sequence>
<xsd:attribute name="orderDate" type="xsd:date"/>
</xsd:complexType>
<xsd:complexType name="USAddress">
<xsd:sequence>
<xsd:element name="name" type="xsd:string"/>
<xsd:element name="street" type="xsd:string"/>
<xsd:element name="city" type="xsd:string"/>
<xsd:element name="state" type="xsd:string"/>
<xsd:element name="zip" type="xsd:decimal"/>
</xsd:sequence>
<xsd:attribute name="country" type="xsd:NMTOKEN"
fixed="US"/>
</xsd:complexType>
<xsd:complexType name="Items">
<xsd:sequence>
<xsd:element name="item" minOccurs="0" maxOccurs="unbounded">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="productName" type="xsd:string"/>
<xsd:element name="quantity">
<xsd:simpleType>
<xsd:restriction base="xsd:positiveInteger">
<xsd:maxExclusive value="100"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="USPrice" type="xsd:decimal"/>
<xsd:element ref="comment" minOccurs="0"/>
<xsd:element name="shipDate" type="xsd:date" minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="partNum" type="SKU" use="required"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<!-- Stock Keeping Unit, a code for identifying products -->
<xsd:simpleType name="SKU">
<xsd:restriction base="xsd:string">
<xsd:pattern value="\d{3}-[A-Z]{2}"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
<shipTo country="US">
<name>Alice Smith</name>
<street>123 Maple Street</street>
<state>CA</state>
<zip>90952</zip>
</shipTo>
<billTo country="US">
<name>Robert Smith</name>
<street>8 Oak Avenue</street>
<state>PA</state>
<zip>95819</zip>
</billTo>
<comment>Hurry, my lawn is going wild!</comment>
<items>
<item partNum="872-AA">
<productName>Lawnmower</productName>
<quantity>1</quantity>
<USPrice>148.95</USPrice>
<comment>Confirm this is electric</comment>
</item>
<item partNum="926-AA">
<productName>Baby Monitor</productName>
<quantity>1</quantity>
<USPrice>39.98</USPrice>
<shipDate>1999-05-21</shipDate>
</item>
</items>
</purchaseOrder>
CFLAGS=$(shell ./local/bin/xml2-config --cflags)
LDFLAGS=$(shell ./local/bin/xml2-config --libs)
foo: foo.o
$(CC) -o foo foo.o $(LDFLAGS)
foo.o: foo.c
$(CC) $(CFLAGS) -c -o foo.o foo.c
clean:
rm -f foo.o foo
++ pwd
+ prefix=/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local
+ rm -rf /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local
+ pushd /home/flavorjones/code/oss/libxml2
~/code/oss/libxml2 ~/code/oss/nokogiri/issues/2865-schema-validation-memory-leak
+ ./configure -C --prefix=/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local --without-python --without-readline --with-c14n --with-debug --with-threads --with-iconv=yes --host=x86_64-pc-linux-gnu 'CFLAGS=-O2 -g -std=c89 -D_XOPEN_SOURCE=700'
configure: creating cache config.cache
checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
extra=v2.10.0-30-g9a82b94a
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for x86_64-pc-linux-gnu-strip... no
checking for strip... strip
checking for a race-free mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking whether make supports nested variables... (cached) yes
checking for x86_64-pc-linux-gnu-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether the compiler supports GNU C... yes
checking whether gcc accepts -g... yes
checking for gcc option to enable C11 features... unsupported
checking for gcc option to enable C99 features... unsupported
checking for gcc option to enable C89 features... none needed
checking whether gcc understands -c and -o together... yes
checking whether make supports the include directive... yes (GNU style)
checking dependency style of gcc... gcc3
checking whether ln -s works... yes
checking how to run the C preprocessor... gcc -E
checking for mv... /usr/bin/mv
checking for tar... /usr/bin/tar
checking for perl... /usr/bin/perl
checking for wget... /usr/bin/wget
checking for xmllint... /usr/bin/xmllint
checking for xsltproc... /usr/bin/xsltproc
checking for x86_64-pc-linux-gnu-pkg-config... /usr/bin/x86_64-pc-linux-gnu-pkg-config
checking pkg-config is at least version 0.9.0... yes
checking how to print strings... printf
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking the maximum length of command line arguments... 1572864
checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop
checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for x86_64-pc-linux-gnu-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for x86_64-pc-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for x86_64-pc-linux-gnu-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for x86_64-pc-linux-gnu-strip... strip
checking for x86_64-pc-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for a working dd... /usr/bin/dd
checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1
checking for x86_64-pc-linux-gnu-mt... no
checking for mt... mt
checking if mt is a manifest tool... no
checking for stdio.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for strings.h... yes
checking for sys/stat.h... yes
checking for sys/types.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking for cos in -lm... yes
Checking zlib
checking for zlib... yes
Checking lzma
checking for liblzma... yes
Checking headers
checking for fcntl.h... yes
checking for unistd.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking for sys/types.h... (cached) yes
checking for stdint.h... (cached) yes
checking for inttypes.h... (cached) yes
checking for sys/socket.h... yes
checking for netinet/in.h... yes
checking for arpa/inet.h... yes
checking for netdb.h... yes
checking for sys/time.h... yes
checking for sys/select.h... yes
checking for poll.h... yes
checking for sys/mman.h... yes
checking for sys/timeb.h... yes
checking for arpa/nameser.h... yes
checking for resolv.h... yes
checking for dl.h... no
checking for dlfcn.h... (cached) yes
Checking types
checking for uint32_t... yes
Checking libraries
checking for gettimeofday... yes
checking for ftime... yes
checking for stat... yes
checking for rand_r... yes
checking for isascii... yes
checking for mmap... yes
checking for munmap... yes
checking for putenv... yes
checking for va_copy... no
checking for __va_copy... yes
checking whether va_list is an array type... yes
checking for library containing gethostent... none required
checking for library containing setsockopt... none required
checking for library containing connect... none required
checking for type of socket length (socklen_t)... socklen_t *
checking for const gethostbyname() argument... yes
checking for const send() second argument... yes
checking whether __attribute__((destructor)) is accepted... yes
checking whether to enable IPv6... yes
checking struct sockaddr::ss_family... yes
checking for getaddrinfo... yes
checking for shl_load... no
checking for shl_load in -ldld... no
checking for dlopen... yes
Checking configuration requirements
Enabling multithreaded support
checking for pthread.h... yes
checking for pthread_join in -lpthread... yes
Disabling FTP support
Disabling deprecated APIs
Enabled Schematron support
checking for iconv.h... yes
checking for iconv... yes
Disabling ICU support
Enabled Schemas/Relax-NG support
checking for snprintf... yes
checking for vsnprintf... yes
Disabling code coverage for GCC
configure: updating cache config.cache
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating libxml2.spec
config.status: creating Makefile
config.status: creating include/Makefile
config.status: creating include/libxml/Makefile
config.status: creating doc/Makefile
config.status: creating doc/examples/Makefile
config.status: creating doc/devhelp/Makefile
config.status: creating example/Makefile
config.status: creating fuzz/Makefile
config.status: creating python/Makefile
config.status: creating python/tests/Makefile
config.status: creating xstc/Makefile
config.status: creating include/libxml/xmlversion.h
config.status: creating libxml-2.0.pc
config.status: creating libxml-2.0-uninstalled.pc
config.status: creating libxml2-config.cmake
config.status: creating python/setup.py
config.status: creating xml2-config
config.status: creating config.h
config.status: executing depfiles commands
config.status: executing libtool commands
Done configuring
+ make
make all-recursive
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2'
Making all in include
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
Making all in libxml
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
Making all in .
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2'
CC xmllint.o
CC libxml2_la-SAX.lo
CC libxml2_la-entities.lo
CC libxml2_la-encoding.lo
CC libxml2_la-parserInternals.lo
CC libxml2_la-error.lo
CC libxml2_la-parser.lo
CC libxml2_la-tree.lo
CC libxml2_la-hash.lo
CC libxml2_la-list.lo
CC libxml2_la-xmlIO.lo
CC libxml2_la-xmlmemory.lo
CC libxml2_la-uri.lo
CC libxml2_la-valid.lo
CC libxml2_la-xlink.lo
CC libxml2_la-HTMLparser.lo
CC libxml2_la-HTMLtree.lo
CC libxml2_la-debugXML.lo
CC libxml2_la-xpath.lo
CC libxml2_la-xpointer.lo
CC libxml2_la-xinclude.lo
tree.c: In function ‘xmlDOMWrapCloneNode’:
tree.c:9618:26: warning: array subscript ‘xmlNode {aka struct _xmlNode}[0]’ is partly outside array bounds of ‘unsigned char[96]’ [-Warray-bounds]
9618 | clone->parent = parentClone;
| ^~
tree.c:9607:38: note: referencing an object of size 96 allocated by ‘void *(size_t)’ {aka ‘void *(long unsigned int)’}
9607 | clone = (xmlNodePtr) xmlMalloc(sizeof(xmlAttr));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
tree.c:9621:30: warning: array subscript ‘xmlNode {aka struct _xmlNode}[0]’ is partly outside array bounds of ‘unsigned char[96]’ [-Warray-bounds]
9621 | clone->prev = prevClone;
| ^~
tree.c:9607:38: note: referencing an object of size 96 allocated by ‘void *(size_t)’ {aka ‘void *(long unsigned int)’}
9607 | clone = (xmlNodePtr) xmlMalloc(sizeof(xmlAttr));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
CC libxml2_la-nanohttp.lo
CC libxml2_la-nanoftp.lo
CC libxml2_la-catalog.lo
CC libxml2_la-globals.lo
CC libxml2_la-threads.lo
CC libxml2_la-c14n.lo
CC libxml2_la-xmlstring.lo
CC libxml2_la-buf.lo
CC libxml2_la-xmlregexp.lo
CC libxml2_la-xmlschemas.lo
CC libxml2_la-xmlschemastypes.lo
CC libxml2_la-xmlunicode.lo
CC libxml2_la-xmlreader.lo
CC libxml2_la-relaxng.lo
CC libxml2_la-dict.lo
CC libxml2_la-SAX2.lo
CC libxml2_la-xmlwriter.lo
CC libxml2_la-legacy.lo
CC libxml2_la-chvalid.lo
CC libxml2_la-pattern.lo
CC libxml2_la-xmlsave.lo
CC libxml2_la-xmlmodule.lo
CC libxml2_la-schematron.lo
CC libxml2_la-xzlib.lo
CC xmlcatalog.o
CC testdso.lo
CCLD testdso.la
CCLD libxml2.la
CCLD xmllint
CCLD xmlcatalog
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2'
Making all in doc
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
Making all in .
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
make[3]: Nothing to be done for 'all-am'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making all in devhelp
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
Making all in examples
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[3]: Nothing to be done for 'all'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making all in example
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/example'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/example'
Making all in fuzz
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/fuzz'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/fuzz'
Making all in xstc
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/xstc'
make[2]: Nothing to be done for 'all'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/xstc'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2'
+ make install
Making install in include
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
Making install in libxml
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/include/libxml2/libxml'
/usr/bin/install -c -m 644 SAX.h entities.h encoding.h parser.h parserInternals.h xmlerror.h HTMLparser.h HTMLtree.h debugXML.h tree.h list.h hash.h xpath.h xpathInternals.h xpointer.h xinclude.h xmlIO.h xmlmemory.h nanohttp.h nanoftp.h uri.h valid.h xlink.h xmlversion.h catalog.h threads.h globals.h c14n.h xmlautomata.h xmlregexp.h xmlmodule.h xmlschemas.h schemasInternals.h xmlschemastypes.h xmlstring.h xmlunicode.h xmlreader.h relaxng.h dict.h SAX2.h '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/include/libxml2/libxml'
/usr/bin/install -c -m 644 xmlexports.h xmlwriter.h chvalid.h pattern.h xmlsave.h schematron.h '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/include/libxml2/libxml'
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
make[3]: Nothing to be done for 'install-exec-am'.
make[3]: Nothing to be done for 'install-data-am'.
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
Making install in .
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/cmake/libxml2'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/examples'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/aclocal'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/pkgconfig'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib'
/usr/bin/install -c -m 644 libxml.m4 '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/aclocal'
/bin/bash ./libtool --mode=install /usr/bin/install -c libxml2.la '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib'
/usr/bin/install -c xml2-config '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin'
/usr/bin/install -c -m 644 libxml2-config.cmake '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/cmake/libxml2'
/usr/bin/install -c -m 644 xmllint.c '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/examples'
/usr/bin/install -c -m 644 libxml-2.0.pc '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/pkgconfig'
libtool: install: /usr/bin/install -c .libs/libxml2.so.2.10.0 /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/libxml2.so.2.10.0
libtool: install: (cd /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib && { ln -s -f libxml2.so.2.10.0 libxml2.so.2 || { rm -f libxml2.so.2 && ln -s libxml2.so.2.10.0 libxml2.so.2; }; })
libtool: install: (cd /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib && { ln -s -f libxml2.so.2.10.0 libxml2.so || { rm -f libxml2.so && ln -s libxml2.so.2.10.0 libxml2.so; }; })
libtool: install: /usr/bin/install -c .libs/libxml2.lai /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib/libxml2.la
libtool: finish: PATH="/home/flavorjones/.gvm/bin:/home/flavorjones/.rbenv/shims:/home/flavorjones/.rbenv/bin:/home/flavorjones/code/oss/nvm/versions/node/v16.17.0/bin:/home/flavorjones/.local/bin:/home/flavorjones/local/bin:/home/flavorjones/.local/bin:/home/flavorjones/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/flavorjones/local/bin:/home/flavorjones/bin:/sbin" ldconfig -n /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib
----------------------------------------------------------------------
Libraries have been installed in:
/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib
If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the '-LLIBDIR'
flag during linking and do at least one of the following:
- add LIBDIR to the 'LD_LIBRARY_PATH' environment variable
during execution
- add LIBDIR to the 'LD_RUN_PATH' environment variable
during linking
- use the '-Wl,-rpath -Wl,LIBDIR' linker flag
- have your system administrator add LIBDIR to '/etc/ld.so.conf'
See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin'
/bin/bash ./libtool --mode=install /usr/bin/install -c xmllint xmlcatalog '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin'
libtool: install: /usr/bin/install -c .libs/xmllint /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin/xmllint
libtool: install: /usr/bin/install -c .libs/xmlcatalog /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/bin/xmlcatalog
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2'
Making install in doc
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
Making install in .
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/man/man1'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2'
/usr/bin/install -c -m 644 xml2-config.1 xmllint.1 xmlcatalog.1 '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/man/man1'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial/images'
/usr/bin/install -c -m 644 tutorial/images/blank.png tutorial/images/caution.png tutorial/images/draft.png tutorial/images/home.png tutorial/images/important.png tutorial/images/next.png tutorial/images/note.png tutorial/images/prev.png tutorial/images/tip.png tutorial/images/toc-blank.png tutorial/images/toc-minus.png tutorial/images/toc-plus.png tutorial/images/up.png tutorial/images/warning.png '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial/images'
/usr/bin/install -c -m 644 xmlcatalog.html xmllint.html '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/.'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial/images/callouts'
/usr/bin/install -c -m 644 tutorial/images/callouts/1.png tutorial/images/callouts/10.png tutorial/images/callouts/2.png tutorial/images/callouts/3.png tutorial/images/callouts/4.png tutorial/images/callouts/5.png tutorial/images/callouts/6.png tutorial/images/callouts/7.png tutorial/images/callouts/8.png tutorial/images/callouts/9.png '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial/images/callouts'
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial'
/usr/bin/install -c -m 644 tutorial/apa.html tutorial/apb.html tutorial/apc.html tutorial/apd.html tutorial/ape.html tutorial/apf.html tutorial/apg.html tutorial/aph.html tutorial/api.html tutorial/ar01s02.html tutorial/ar01s03.html tutorial/ar01s04.html tutorial/ar01s05.html tutorial/ar01s06.html tutorial/ar01s07.html tutorial/ar01s08.html tutorial/ar01s09.html tutorial/includeaddattribute.c tutorial/includeaddkeyword.c tutorial/includeconvert.c tutorial/includegetattribute.c tutorial/includekeyword.c tutorial/includexpath.c tutorial/index.html tutorial/ix01.html '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/tutorial'
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making install in devhelp
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/gtk-doc/html/libxml2'
/usr/bin/install -c -m 644 libxml2.devhelp2 general.html index.html libxml2-c14n.html libxml2-catalog.html libxml2-chvalid.html libxml2-debugXML.html libxml2-dict.html libxml2-encoding.html libxml2-entities.html libxml2-globals.html libxml2-hash.html libxml2-HTMLparser.html libxml2-HTMLtree.html libxml2-list.html libxml2-nanoftp.html libxml2-nanohttp.html libxml2-parser.html libxml2-parserInternals.html libxml2-pattern.html libxml2-relaxng.html libxml2-SAX2.html libxml2-SAX.html libxml2-schemasInternals.html libxml2-schematron.html libxml2-threads.html libxml2-tree.html libxml2-uri.html libxml2-valid.html libxml2-xinclude.html libxml2-xlink.html libxml2-xmlautomata.html libxml2-xmlerror.html libxml2-xmlexports.html libxml2-xmlIO.html libxml2-xmlmemory.html libxml2-xmlmodule.html libxml2-xmlreader.html libxml2-xmlregexp.html libxml2-xmlsave.html '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/gtk-doc/html/libxml2'
/usr/bin/install -c -m 644 libxml2-xmlschemas.html libxml2-xmlschemastypes.html libxml2-xmlstring.html libxml2-xmlunicode.html libxml2-xmlversion.html libxml2-xmlwriter.html libxml2-xpath.html libxml2-xpathInternals.html libxml2-xpointer.html home.png left.png right.png up.png style.css '/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/gtk-doc/html/libxml2'
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
Making install in examples
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[3]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[3]: Nothing to be done for 'install-exec-am'.
/usr/bin/mkdir -p /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/examples
/usr/bin/install -c -m 0644 ./*.html ./*.c /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/share/doc/libxml2/examples/
make[3]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/examples'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making install in example
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/example'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/example'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/example'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/example'
Making install in fuzz
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/fuzz'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/fuzz'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/fuzz'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/fuzz'
Making install in xstc
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/xstc'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/xstc'
make[2]: Nothing to be done for 'install-exec-am'.
make[2]: Nothing to be done for 'install-data-am'.
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/xstc'
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/xstc'
+ make distclean
Making distclean in include
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
Making distclean in libxml
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/include/libxml'
rm -rf .libs _libs
rm -f *.lo
test -z "xmlversion.h" || rm -f xmlversion.h
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
rm -f Makefile
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/include/libxml'
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/include'
rm -rf .libs _libs
rm -f *.lo
test -z "" || rm -f
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/include'
Making distclean in .
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2'
test -z "runxmlconf.log test.out *.gcda *.gcno *.res" || rm -f runxmlconf.log test.out *.gcda *.gcno *.res
test -z "libxml2.la" || rm -f libxml2.la
rm -rf .libs _libs
rm -f missing.xml # created by testapi
test -z "testdso.la" || rm -f testdso.la
rm -f xmllint xmlcatalog
rm -f runsuite runtest runxmlconf testAutomata testModule testThreads testapi testchar testdict testlimits testrecurse
rm -f *.o
rm -f *.lo
rm -f *.tab.c
test -z "libxml2.spec libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake xml2-config" || rm -f libxml2.spec libxml-2.0.pc libxml-2.0-uninstalled.pc libxml2-config.cmake xml2-config
rm -f config.h stamp-h1
rm -f ./so_locations
test . = "." || test -z "" || rm -f
rm -f libtool config.lt
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test -z "COPYING missing.lst" || rm -f COPYING missing.lst
rm -f cscope.out cscope.in.out cscope.po.out cscope.files
rm -f ./so_locations
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2'
Making distclean in doc
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
Making distclean in .
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc'
rm -rf .libs _libs
rm -f *.lo
test -z "" || rm -f
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making distclean in devhelp
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
rm -rf .libs _libs
rm -f *.lo
test -z "" || rm -f
test . = "." || test -z "" || rm -f
rm -f Makefile
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/devhelp'
Making distclean in examples
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/doc/examples'
test -z "*.tmp" || rm -f *.tmp
rm -rf .libs _libs
test -f Makefile.am || rm -f test?.xml
rm -f *.o
rm -f *.lo
rm -f *.tab.c
rm -f io1 io2 parse1 parse2 parse3 parse4 reader1 reader2 reader3 reader4 testWriter tree1 tree2 xpath1 xpath2
rm -f .memdump
test -z "" || rm -f
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
rm -f ./.deps/io1.Po
rm -f ./.deps/io2.Po
rm -f ./.deps/parse1.Po
rm -f ./.deps/parse2.Po
rm -f ./.deps/parse3.Po
rm -f ./.deps/parse4.Po
rm -f ./.deps/reader1.Po
rm -f ./.deps/reader2.Po
rm -f ./.deps/reader3.Po
rm -f ./.deps/reader4.Po
rm -f ./.deps/testWriter.Po
rm -f ./.deps/tree1.Po
rm -f ./.deps/tree2.Po
rm -f ./.deps/xpath1.Po
rm -f ./.deps/xpath2.Po
rm -f Makefile
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc/examples'
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/doc'
Making distclean in example
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/example'
rm -rf .libs _libs
rm -f *.o
rm -f *.lo
rm -f *.tab.c
test -z "" || rm -f
rm -f gjobread
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
rm -f ./.deps/gjobread.Po
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/example'
Making distclean in fuzz
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/fuzz'
test -z "genSeed html regexp schema uri xml xpath" || rm -f genSeed html regexp schema uri xml xpath
rm -rf .libs _libs
rm -rf seed
rm -f *.o
rm -f *.lo
rm -f testFuzzer
rm -f *.tab.c
test -z "" || rm -f
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
rm -f ./.deps/fuzz.Po
rm -f ./.deps/genSeed.Po
rm -f ./.deps/html.Po
rm -f ./.deps/regexp.Po
rm -f ./.deps/schema.Po
rm -f ./.deps/testFuzzer.Po
rm -f ./.deps/uri.Po
rm -f ./.deps/xml.Po
rm -f ./.deps/xpath.Po
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/fuzz'
Making distclean in python
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/python'
Making distclean in .
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/python'
test -z "" || rm -f
rm -rf .libs _libs
test -z "" || rm -f
rm -f *.o
rm -f *.lo
rm -f *.tab.c
test -z "setup.py" || rm -f setup.py
rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
test . = "." || test -z "" || rm -f
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/python'
Making distclean in tests
make[2]: Entering directory '/home/flavorjones/code/oss/libxml2/python/tests'
test -z "core tmp.xml *.pyc" || rm -f core tmp.xml *.pyc
rm -rf .libs _libs
rm -f *.lo
test -z "" || rm -f
test . = "." || test -z "" || rm -f
rm -f Makefile
make[2]: Leaving directory '/home/flavorjones/code/oss/libxml2/python/tests'
rm -f ./.deps/libxml.Plo
rm -f ./.deps/libxml2-py.Plo
rm -f ./.deps/types.Plo
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/python'
Making distclean in xstc
make[1]: Entering directory '/home/flavorjones/code/oss/libxml2/xstc'
test -z "nist-test.py ms-test.py sun-test.py test.log" || rm -f nist-test.py ms-test.py sun-test.py test.log
rm -rf .libs _libs
rm -f *.lo
test -z "" || rm -f
test . = "." || test -z "" || rm -f
rm -f Makefile
make[1]: Leaving directory '/home/flavorjones/code/oss/libxml2/xstc'
rm -f config.status config.cache config.log configure.lineno config.status.lineno
rm -f ./.deps/libxml2_la-HTMLparser.Plo
rm -f ./.deps/libxml2_la-HTMLtree.Plo
rm -f ./.deps/libxml2_la-SAX.Plo
rm -f ./.deps/libxml2_la-SAX2.Plo
rm -f ./.deps/libxml2_la-buf.Plo
rm -f ./.deps/libxml2_la-c14n.Plo
rm -f ./.deps/libxml2_la-catalog.Plo
rm -f ./.deps/libxml2_la-chvalid.Plo
rm -f ./.deps/libxml2_la-debugXML.Plo
rm -f ./.deps/libxml2_la-dict.Plo
rm -f ./.deps/libxml2_la-encoding.Plo
rm -f ./.deps/libxml2_la-entities.Plo
rm -f ./.deps/libxml2_la-error.Plo
rm -f ./.deps/libxml2_la-globals.Plo
rm -f ./.deps/libxml2_la-hash.Plo
rm -f ./.deps/libxml2_la-legacy.Plo
rm -f ./.deps/libxml2_la-list.Plo
rm -f ./.deps/libxml2_la-nanoftp.Plo
rm -f ./.deps/libxml2_la-nanohttp.Plo
rm -f ./.deps/libxml2_la-parser.Plo
rm -f ./.deps/libxml2_la-parserInternals.Plo
rm -f ./.deps/libxml2_la-pattern.Plo
rm -f ./.deps/libxml2_la-relaxng.Plo
rm -f ./.deps/libxml2_la-schematron.Plo
rm -f ./.deps/libxml2_la-threads.Plo
rm -f ./.deps/libxml2_la-tree.Plo
rm -f ./.deps/libxml2_la-trio.Plo
rm -f ./.deps/libxml2_la-triostr.Plo
rm -f ./.deps/libxml2_la-uri.Plo
rm -f ./.deps/libxml2_la-valid.Plo
rm -f ./.deps/libxml2_la-xinclude.Plo
rm -f ./.deps/libxml2_la-xlink.Plo
rm -f ./.deps/libxml2_la-xmlIO.Plo
rm -f ./.deps/libxml2_la-xmlmemory.Plo
rm -f ./.deps/libxml2_la-xmlmodule.Plo
rm -f ./.deps/libxml2_la-xmlreader.Plo
rm -f ./.deps/libxml2_la-xmlregexp.Plo
rm -f ./.deps/libxml2_la-xmlsave.Plo
rm -f ./.deps/libxml2_la-xmlschemas.Plo
rm -f ./.deps/libxml2_la-xmlschemastypes.Plo
rm -f ./.deps/libxml2_la-xmlstring.Plo
rm -f ./.deps/libxml2_la-xmlunicode.Plo
rm -f ./.deps/libxml2_la-xmlwriter.Plo
rm -f ./.deps/libxml2_la-xpath.Plo
rm -f ./.deps/libxml2_la-xpointer.Plo
rm -f ./.deps/libxml2_la-xzlib.Plo
rm -f ./.deps/runsuite.Po
rm -f ./.deps/runtest-runtest.Po
rm -f ./.deps/runxmlconf.Po
rm -f ./.deps/testAutomata.Po
rm -f ./.deps/testModule.Po
rm -f ./.deps/testThreads-testThreads.Po
rm -f ./.deps/testapi.Po
rm -f ./.deps/testchar.Po
rm -f ./.deps/testdict.Po
rm -f ./.deps/testdso.Plo
rm -f ./.deps/testlimits.Po
rm -f ./.deps/testrecurse.Po
rm -f ./.deps/xmlcatalog.Po
rm -f ./.deps/xmllint.Po
rm -f Makefile
+ popd
~/code/oss/nokogiri/issues/2865-schema-validation-memory-leak
+ make clean
rm -f foo.o foo
+ make
cc -I/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/include/libxml2 -c -o foo.o foo.c
cc -o foo foo.o -L/home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/local/lib -lxml2 -lz -llzma -lm
+ LD_LIBRARY_PATH=./local/lib:/home/flavorjones/.local/lib:/home/flavorjones/local/lib:
+ valgrind --error-exitcode=42 --leak-check=full ./foo foo.xsd valid.xml
==937846== Memcheck, a memory error detector
==937846== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==937846== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==937846== Command: ./foo foo.xsd valid.xml
==937846==
--937846-- WARNING: unhandled amd64-linux syscall: 334
--937846-- You may be able to write your own handler.
--937846-- Read the file README_MISSING_SYSCALL_OR_IOCTL.
--937846-- Nevertheless we consider this a bug. Please report
--937846-- it at http://valgrind.org/support/bug_reports.html.
using libxml2 version 21000-GITv2.10.0-30-g9a82b94a
==937846==
==937846== HEAP SUMMARY:
==937846== in use at exit: 10,831,000 bytes in 170,000 blocks
==937846== total heap usage: 252,826 allocs, 82,826 frees, 74,527,400 bytes allocated
==937846==
==937846== 4 bytes in 1 blocks are possibly lost in loss record 1 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x48BBD34: xmlNewDoc (tree.c:1176)
==937846== by 0x495DA10: xmlSAX2StartDocument (SAX2.c:968)
==937846== by 0x48B7CBA: xmlParseDocument (parser.c:10764)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 10 bytes in 1 blocks are possibly lost in loss record 2 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x48BCB3C: xmlNewPropInternal (tree.c:1898)
==937846== by 0x495F58C: xmlSAX2AttributeNs (SAX2.c:2025)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 11 bytes in 1 blocks are possibly lost in loss record 3 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x495F09A: xmlSAX2TextNode (SAX2.c:1900)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 14 bytes in 1 blocks are possibly lost in loss record 4 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x48BC349: xmlNewNode (tree.c:2269)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 20 bytes in 4 blocks are possibly lost in loss record 5 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x495F09A: xmlSAX2TextNode (SAX2.c:1900)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 32 bytes in 4 blocks are possibly lost in loss record 6 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x48BCB3C: xmlNewPropInternal (tree.c:1898)
==937846== by 0x495F58C: xmlSAX2AttributeNs (SAX2.c:2025)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 51 bytes in 6 blocks are possibly lost in loss record 7 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x495F09A: xmlSAX2TextNode (SAX2.c:1900)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 96 bytes in 1 blocks are possibly lost in loss record 8 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC90D: xmlNewPropInternal (tree.c:1875)
==937846== by 0x495F58C: xmlSAX2AttributeNs (SAX2.c:2025)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 120 bytes in 1 blocks are possibly lost in loss record 9 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC304: xmlNewNode (tree.c:2261)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 120 bytes in 1 blocks are possibly lost in loss record 10 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 167 bytes in 24 blocks are possibly lost in loss record 11 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x48BC349: xmlNewNode (tree.c:2269)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 176 bytes in 1 blocks are possibly lost in loss record 12 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BBCE9: xmlNewDoc (tree.c:1168)
==937846== by 0x495DA10: xmlSAX2StartDocument (SAX2.c:968)
==937846== by 0x48B7CBA: xmlParseDocument (parser.c:10764)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 186 bytes in 24 blocks are possibly lost in loss record 13 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x495F09A: xmlSAX2TextNode (SAX2.c:1900)
==937846== by 0x496016A: xmlSAX2Text (SAX2.c:2637)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 200 bytes in 19 blocks are possibly lost in loss record 14 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x490B8D3: xmlStrndup (xmlstring.c:46)
==937846== by 0x495F09A: xmlSAX2TextNode (SAX2.c:1900)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48A7CDC: xmlParseCharData (parser.c:4517)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 384 bytes in 4 blocks are possibly lost in loss record 15 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC90D: xmlNewPropInternal (tree.c:1875)
==937846== by 0x495F58C: xmlSAX2AttributeNs (SAX2.c:2025)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 480 bytes in 4 blocks are possibly lost in loss record 16 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 720 bytes in 6 blocks are possibly lost in loss record 17 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 2,280 bytes in 19 blocks are possibly lost in loss record 18 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48A7CDC: xmlParseCharData (parser.c:4517)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 2,880 bytes in 24 blocks are possibly lost in loss record 19 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC304: xmlNewNode (tree.c:2261)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 2,880 bytes in 24 blocks are possibly lost in loss record 20 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x496016A: xmlSAX2Text (SAX2.c:2637)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 10,831 (120 direct, 10,711 indirect) bytes in 1 blocks are definitely lost in loss record 23 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 21,662 (192 direct, 21,470 indirect) bytes in 2 blocks are definitely lost in loss record 27 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC90D: xmlNewPropInternal (tree.c:1875)
==937846== by 0x495F58C: xmlSAX2AttributeNs (SAX2.c:2025)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 32,493 (360 direct, 32,133 indirect) bytes in 3 blocks are definitely lost in loss record 29 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x495F375: xmlSAX2AttributeNs (SAX2.c:2063)
==937846== by 0x495FC8D: xmlSAX2StartElementNs (SAX2.c:2417)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 43,324 (480 direct, 42,844 indirect) bytes in 4 blocks are definitely lost in loss record 30 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC304: xmlNewNode (tree.c:2261)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B504C: xmlParseElement (parser.c:9980)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 43,324 (480 direct, 42,844 indirect) bytes in 4 blocks are definitely lost in loss record 31 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48A7CDC: xmlParseCharData (parser.c:4517)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 574,043 (6,360 direct, 567,683 indirect) bytes in 53 blocks are definitely lost in loss record 42 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x4960144: xmlSAX2Text (SAX2.c:2561)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 3,303,455 (36,600 direct, 3,266,855 indirect) bytes in 305 blocks are definitely lost in loss record 47 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BC304: xmlNewNode (tree.c:2261)
==937846== by 0x48C0AB7: xmlNewDocNode (tree.c:2347)
==937846== by 0x495F976: xmlSAX2StartElementNs (SAX2.c:2278)
==937846== by 0x493AD9D: startElementNsSplit (xmlschemas.c:28785)
==937846== by 0x48B0B56: xmlParseStartTag2 (parser.c:9658)
==937846== by 0x48B1436: xmlParseElementStart (parser.c:10043)
==937846== by 0x48B43B7: xmlParseContentInternal (parser.c:9908)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 3,379,272 (37,440 direct, 3,341,832 indirect) bytes in 312 blocks are definitely lost in loss record 48 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x495F145: xmlSAX2TextNode (SAX2.c:1861)
==937846== by 0x496016A: xmlSAX2Text (SAX2.c:2637)
==937846== by 0x4921130: charactersSplit (xmlschemas.c:28730)
==937846== by 0x48B4262: xmlParseContentInternal (parser.c:9925)
==937846== by 0x48B505F: xmlParseElement (parser.c:9983)
==937846== by 0x48B7EC9: xmlParseDocument (parser.c:10820)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== 3,411,765 (55,440 direct, 3,356,325 indirect) bytes in 315 blocks are definitely lost in loss record 49 of 49
==937846== at 0x4848855: malloc (vg_replace_malloc.c:381)
==937846== by 0x48BBCE9: xmlNewDoc (tree.c:1168)
==937846== by 0x495DA10: xmlSAX2StartDocument (SAX2.c:968)
==937846== by 0x48B7CBA: xmlParseDocument (parser.c:10764)
==937846== by 0x493B17C: xmlSchemaVStart (xmlschemas.c:28401)
==937846== by 0x493BAE9: xmlSchemaValidateStream (xmlschemas.c:29107)
==937846== by 0x1092C4: validate (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846== by 0x1093AF: main (in /home/flavorjones/code/oss/nokogiri/issues/2865-schema-validation-memory-leak/foo)
==937846==
==937846== LEAK SUMMARY:
==937846== definitely lost: 137,472 bytes in 999 blocks
==937846== indirectly lost: 10,682,697 bytes in 168,831 blocks
==937846== possibly lost: 10,831 bytes in 170 blocks
==937846== still reachable: 0 bytes in 0 blocks
==937846== suppressed: 0 bytes in 0 blocks
==937846==
==937846== For lists of detected and suppressed errors, rerun with: -s
==937846== ERROR SUMMARY: 29 errors from 29 contexts (suppressed: 0 from 0)
<?xml version="1.0"?>
<purchaseOrder orderDate="1999-10-20">
<shipTo country="US">
<name>Alice Smith</name>
<street>123 Maple Street</street>
<city>Mill Valley</city>
<state>CA</state>
<zip>90952</zip>
</shipTo>
<billTo country="US">
<name>Robert Smith</name>
<street>8 Oak Avenue</street>
<city>Old Town</city>
<state>PA</state>
<zip>95819</zip>
</billTo>
<comment>Hurry, my lawn is going wild!</comment>
<items>
<item partNum="872-AA">
<productName>Lawnmower</productName>
<quantity>1</quantity>
<USPrice>148.95</USPrice>
<comment>Confirm this is electric</comment>
</item>
<item partNum="926-AA">
<productName>Baby Monitor</productName>
<quantity>1</quantity>
<USPrice>39.98</USPrice>
<shipDate>1999-05-21</shipDate>
</item>
</items>
</purchaseOrder>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment