[Vortex] Errors on OS X

Dave Dribin dave-ml at dribin.org
Tue May 6 16:16:25 CEST 2008


In an attempt to just see something work, I decided to try to build on  
Linux (CentOS 5.1), which I figure is more tested than OS X.   
Unfortunately, it won't build on my Linux box, without tweaking.  I  
get errors when linking against readline:

% make
make  all-recursive
make[1]: Entering directory `/tmp/vortex-1.0.14'
Making all in src
make[2]: Entering directory `/tmp/vortex-1.0.14/src'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/tmp/vortex-1.0.14/src'
Making all in test
make[2]: Entering directory `/tmp/vortex-1.0.14/test'
/bin/sh ../libtool --tag=CC --mode=link gcc  -g -O2   -o vortex- 
client  vortex-client.o -L/usr/local/encap/axl-0.4.14.b3237.g3237/lib - 
laxl -lm   -lpthread ../src/libvortex.la -L/lib -lreadline  -L/usr/ 
local/encap/axl-0.4.14.b3237.g3237/lib -laxl -lm   -lpthread
gcc -g -O2 -o .libs/vortex-client vortex-client.o  -L/usr/local/encap/ 
axl-0.4.14.b3237.g3237/lib ../src/.libs/libvortex.so -L/lib - 
lreadline /usr/local/encap/axl-0.4.14.b3237.g3237/lib/libaxl.so -lm - 
lpthread  -Wl,--rpath -Wl,/usr/local/lib -Wl,--rpath -Wl,/usr/local/ 
encap/axl-0.4.14.b3237.g3237/lib
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so:  
undefined reference to `PC'
/usr/lib/gcc/i386-redhat-linux/4.1.2/../../../libreadline.so:  
undefined reference to `tgetflag'

These all looked like Termcap stuff, so I went through and added "- 
ltermcap" to vortex_client_LDADD. Now it built, but I'm also getting  
segmentation faults when trying to run any program in ./test including  
vortex-listener and vortex-client.

Here's the backtrace for vortex-listener:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208064304 (LWP 3552)]
0x003cc6e5 in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x003cc6e5 in memcpy () from /lib/libc.so.6
#1  0x002e113d in axl_stream_push (stream=0x9858bd0,
     content=0x9858bd0 "NMTOKENS ", size=0) at axl_stream.c:698
#2  0x002e90ac in axl_dtd_check_entity_ref_and_expand (
     resolver=0x2e6320 <__axl_dtd_entity_resolver>, data=0x98587b0,
     stream=0x9857e18, prefix=0x2f27b8 "%", error=0xbf91c9e0) at  
axl_dtd.c:1387
#3  0x002e9327 in __axl_dtd_parse_attlist (dtd=0x98587b0,  
stream=0x9857e18,
     error=0xbf91c9e0) at axl_dtd.c:1533
#4  0x002ea4a0 in __axl_dtd_parse_common (
     entity=0xb95a54 "\n<!-- channel management DTD definition from  
RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28 times>,  
"<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<!ENTITY %  
FTRS       'NM"...,
     entity_size=-1, file_path=0x0, fd_handle=-1, error=0xbf91c9e0)
     at axl_dtd.c:1892
#5  0x002ea62b in axl_dtd_parse (
     entity=0xb95a54 "\n<!-- channel management DTD definition from  
RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28 times>,  
"<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<!ENTITY %  
FTRS       'NM"...,
     entity_size=-1, error=0xbf91c9e0) at axl_dtd.c:1962
#6  0x00b7bf1c in __vortex_dtds_load_dtd (dtd_pointer=0x98576d8,
     dtd_to_load=0xb95a54 "\n<!-- channel management DTD definition  
from RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28  
times>, "<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<! 
ENTITY % FTRS       'NM"...)
---Type <return> to continue, or q <return> to quit---
     at vortex_dtds.c:65
#7  0x00b7bfb6 in vortex_dtds_init (ctx=0x9857520) at vortex_dtds.c:92
#8  0x00b6234c in vortex_init_ctx (ctx=0x9857520) at vortex.c:916
#9  0x00b62567 in vortex_init () at vortex.c:807
#10 0x080487b6 in main () at vortex-listener.c:81


And here's the backtrace for vortex-client:

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1208400176 (LWP 3571)]
0x003cc6e5 in memcpy () from /lib/libc.so.6
(gdb) bt
#0  0x003cc6e5 in memcpy () from /lib/libc.so.6
#1  0x0083d13d in axl_stream_push (stream=0x99afbd0,
     content=0x99afbd0 "NMTOKENS ", size=0) at axl_stream.c:698
#2  0x008450ac in axl_dtd_check_entity_ref_and_expand (
     resolver=0x842320 <__axl_dtd_entity_resolver>, data=0x99af7b0,
     stream=0x99aee18, prefix=0x84e7b8 "%", error=0xbfe13ec0) at  
axl_dtd.c:1387
#3  0x00845327 in __axl_dtd_parse_attlist (dtd=0x99af7b0,  
stream=0x99aee18,
     error=0xbfe13ec0) at axl_dtd.c:1533
#4  0x008464a0 in __axl_dtd_parse_common (
     entity=0xb01a54 "\n<!-- channel management DTD definition from  
RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28 times>,  
"<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<!ENTITY %  
FTRS       'NM"...,
     entity_size=-1, file_path=0x0, fd_handle=-1, error=0xbfe13ec0)
     at axl_dtd.c:1892
#5  0x0084662b in axl_dtd_parse (
     entity=0xb01a54 "\n<!-- channel management DTD definition from  
RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28 times>,  
"<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<!ENTITY %  
FTRS       'NM"...,
     entity_size=-1, error=0xbfe13ec0) at axl_dtd.c:1962
#6  0x00ae7f1c in __vortex_dtds_load_dtd (dtd_pointer=0x99ae6d8,
     dtd_to_load=0xb01a54 "\n<!-- channel management DTD definition  
from RFC 3080-->   <!ENTITY % CHAN       'CDATA'>", ' ' <repeats 28  
times>, "<!ENTITY % URI        'CDATA'>", ' ' <repeats 28 times>, "<! 
ENTITY % FTRS       'NM"...)
---Type <return> to continue, or q <return> to quit---
     at vortex_dtds.c:65
#7  0x00ae7fb6 in vortex_dtds_init (ctx=0x99ae520) at vortex_dtds.c:92
#8  0x00ace34c in vortex_init_ctx (ctx=0x99ae520) at vortex.c:916
#9  0x00ace567 in vortex_init () at vortex.c:807
#10 0x0804b40e in main () at vortex-client.c:993

Both seem to be the same axl related crash.  Running axl's ./test/ 
test_01, I'm getting the same error as on OS X:

% ./test/test_01
Test 01-01: LibAxl list implementation [   OK   ]
Test 01-02: LibAxl FIFO implementation [   OK   ]
Test 01-03: LibAxl string functions    [   OK   ]
Test 01-04: LibAxl list implementation (II) [   OK   ]
Test 01-05: LibAxl error reporting [   OK   ]
Test 02-01: LibAxl hash implementation [   OK   ]
Test 02-02: LibAxl hash implementation (lookup) [   OK   ]
Test 02-03: LibAxl hash implementation (replace) [   OK   ]
Test 02-03-a: LibAxl hash remove notification [   OK   ]
Test 02-04: LibAxl hash implementation (remove) [   OK   ]
Test 02-05: LibAxl hash cursor [   OK   ]
Test 02-06: LibAxl binary stack [   OK   ]
Test 01: basic xml parsing [   OK   ]
Test 01-a: Axl Stream boundary checks [   OK   ]
Test 01-b: Basic XML parsing, XML document position [ FAILED ]
   (CODE: -1) unable to read file provided

Looks like I have the opposite of the Midas touch, here. :/ Or I'm  
just being really stupid somehow.

-Dave




More information about the Vortex mailing list