You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-users@xerces.apache.org by Philip Montrowe <pm...@appsecinc.com> on 2011/04/13 20:50:36 UTC

3.1.1 xercesc_3_1::EndOfEntityException from install tests

We are in the process of trying to upgrade to Xerces 3.1.1 from Xerces 2.7.0.

We have a problem building/testing on Solaris 2.9 with gcc 4.5.2 (for 2.7.0 we used suncc)

My configure looks like this:

        ../configure                            \
                --prefix="instPath"             \
                --enable-static                 \
                --disable-shared                \
                --disable-debug                 \
                --disable-acexml                \
                --disable-qos                   \
                --disable-ace-examples          \
                --with-openssl="sslPath"        \
                LIBS="-ldl -laio"

This builds ok but running the tests as follows fails:

        cp ../tests/run* tests
        ( cd tests; perl -I ../../bin run_test.pl )

Previously our tests ran successfully this way on 2.7.0 and they also run successfully for 3.1.1 on other platforms like Linux.

The errors we receive are:

rm -f test-results.log
export PATH=/srcspace/pmontrow/Thirdparty/unix/source/xerces-c-3.1.1/samples:/srcspace/pmontrow/Thirdparty/unix/source/xerces-c-3.1.1/tests:"/usr/local/bin:/usr/bin:/bin:/usr/sbin:/usr/ccs/bin" && export XERCESC_NLS_HOME=/srcspace/pmontrow/Thirdparty/unix/source/xerces-c-3.1.1/src/.libs && cd . && perl scripts/sanityTest.pl 2>&1 | /usr/bin/sed 's/ *[0-9][0-9]*  *ms */{timing removed}/' 1> /srcspace/pmontrow/Thirdparty/unix/source/xerces-c-3.1.1/test-results.log
diff test-results.log ./scripts/sanityTest_ExpectedResult.log
21,22c21,22
< terminate called after throwing an instance of 'xercesc_3_1::EndOfEntityException'
< terminate called after throwing an instance of 'xercesc_3_1::EndOfEntityException'
---
> personal.xml:{timing removed}(37 elems, 12 attrs, 0 spaces, 268 chars)
> personal.xml:{timing removed}(37 elems, 12 attrs, 134 spaces, 134 chars)
48,51c48,125
< terminate called after throwing an instance of 'xercesc_3_1::EndOfEntityException'
< <?xml version="1.0" encoding="LATIN1"?>
< terminate called after throwing an instance of 'xercesc_3_1::EndOfEntityException'
< <?xml version="1.0" encoding="LATIN1"?>
---
> <personnel>
>
>   <person id="Big.Boss">
>     <name><family>Boss</family> <given>Big</given></name>
>     <email>chief@foo.com</email>
>     <link subordinates="one.worker two.worker three.worker four.worker five.worker"></link>
>   </person>
>
>   <person id="one.worker">
>     <name><family>Worker</family> <given>One</given></name>
>     <email>one@foo.com</email>
>     <link manager="Big.Boss"></link>
>   </person>
>

There's many more lines of diff, the essential problem is everything terminates with this EndOfEntityException.

Any thoughts appreciated.

Philip

RE: 3.1.1 xercesc_3_1::EndOfEntityException from install tests

Posted by Philip Montrowe <pm...@appsecinc.com>.
>> This probably means that exception handling is not working in your GCC build. You can verify this by writing and running a test program that throws and catches an exception.

Boris, I tried this with a 5 line main program and exception catching worked perfectly.  Of course I was just throwing std::exception and not from library code, etc.  Any other suggestions?

Meantime I am installing a gcc 3.4.6 package (latest version I can find Sparc Solaris) to compiler and test Xerces 3.1.1 with.

Philip

Re: 3.1.1 xercesc_3_1::EndOfEntityException from install tests

Posted by Boris Kolpackov <bo...@codesynthesis.com>.
Hi Philip,

Philip Montrowe <pm...@appsecinc.com> writes:

> Previously our tests ran successfully this way on 2.7.0 and they also
> run successfully for 3.1.1 on other platforms like Linux.
> 
> The errors we receive are:
> 
> < terminate called after throwing an instance of 
> 'xercesc_3_1::EndOfEntityException'

This probably means that exception handling is not working in your GCC
build. You can verify this by writing and running a test program that
throws and catches an exception.

Boris