[xml] another of those fun SEGV's in xmlFreeDoc?



So, I'm trying to get netperf4 up and running under Debian Itanium (64-bit). It uses libxml2 :) I've apt-got libxml2, libxml2-dev, -doc and -utils. Being an HP-UX refugee, I just did this:

raj sweb142:~/netperf-4.0.0alpha2/src$ xmllint --version
xmllint: using libxml version 20622
compiled with: Threads Tree Output Push Reader Patterns Writer SAXv1 FTP HTTP DTDValid HTML Legacy C14N Catalog XPath XPointer XInclude Iconv ISO8859X Unicode Regexps Automata Expr Schemas Schematron Modules Debug

to get version information. (pointers to other ways to get version info welcome). My "netserver" dies in xmlFreeDoc:

(gdb) file netserver
Reading symbols from /home/raj/netperf-4.0.0alpha2/src/netserver...done.
Using host libthread_db library "/lib/tls/libthread_db.so.1".
(gdb) run -p 56821
Starting program: /home/raj/netperf-4.0.0alpha2/src/netserver -p 56821
[Thread debugging using libthread_db enabled]
[New Thread 2305843009220855936 (LWP 8655)]
freeing the 0x600000000003ae50 doc doc

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2305843009220855936 (LWP 8655)]
0x200000000050eba0 in free () from /lib/tls/libc.so.6.1
(gdb) bt
#0  0x200000000050eba0 in free () from /lib/tls/libc.so.6.1
#1  0x2000000000121ca0 in xmlFreeNode () from /usr/lib/libxml2.so.2
#2  0x2000000000121e50 in xmlFreeDtd () from /usr/lib/libxml2.so.2
#3  0x20000000001223b0 in xmlFreeDoc () from /usr/lib/libxml2.so.2
#4  0x400000000000f0c0 in process_message ()
#5  0x40000000000062f0 in handle_netperf_requests ()
#6  0x4000000000006870 in main ()

FWIW, the same netperf4 sources, running under Itanium HP-UX (32-bit) do not have that failure. The xmllint version bit there returns:

# /usr/local/bin/xmllint --version
/usr/local/bin/xmllint: using libxml version 20618
compiled with: DTDValid FTP HTTP HTML C14N Catalog XPath XPointer XInclude Iconv Unicode Regexps Automata Schemas Modules

which is what the folks at http://hpux.cs.utah.edu/ (a mirror of the HP-UX Porting Archives) distribute.

At this point what would be next steps? Gentle, specific RTFM pointers would be fine.

I do not have a small example - heck I'm not sure if a small example would show. The netperf4 sources which show this are checked-in to subversion at http://www.netperf.org/svn/netperf4/trunk as version 8. It should suffice to svn checkout that stuff, do a ./configure; make; make install - add a netperf4 line to /etc/services:

netperf4      56821/tcp

and then cd to src and run ./netserver -p 56821  and in another window run ./netperf

Of course, that may be more than folks care to deal with. If that is the case I can _try_ to distill it down to an essense. No idea if I would be successful there or not, but if need be I can try.

sincerely,

rick jones



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]