On 09/02/2010 11:36 AM, Bernd Melchers wrote:
>>> Bernd,
>>>
>>> The patch is merged into the trunk and maint branch.
>>>
>>> Can you check whether it works OK now?
>>
>> The fixes were obvious, at least, i think so ...
>> I am now able to compile zeromq, but the example program zmqclient
>> segfaults, so there might be other problems (tried with AIX-5.3,
>> zeromq-2.0.8 with my fixes, 32 bit mode, xlc compiler),
>> which i will further investigate. It would be nice, if zeromq would
>> get a "check" target for make, but it is out of my scope to write a
>> testsuite by myself.
>>
>> # dbx zmqclient208 core
>> Type 'help' for help.
>> [using memory image in core]
>> reading symbolic information ...warning: no source compiled with -g
>
> i have the example program zmqclient.cpp and zmqserver.c now compiled with -g:
> zmqclient dumps core. It may be that openssl is not compiled correct, i am
> working on this.
>
> dbx zmqclient208 core
> Type 'help' for help.
> [using memory image in core]
> reading symbolic information ...
>
> Segmentation fault in RAND_bytes at 0xd436e668 ($t1)
> 0xd436e668 (RAND_bytes+0x8) 800c0000 lwz r0,0x0(r12)
> (dbx) where
> RAND_bytes() at 0xd436e668
> uuid_t()(this = 0x2ff22538), line 137 in "uuid.cpp"
> unnamed block in
> zmq::socket_base_t::attach_pipes(zmq::reader_t*,zmq::writer_t*,const
> std::basic_string<unsigned char,std::char_traits<unsigned
> char>,std::allocator<unsigned char> >&)(this = 0x00000140, inpipe_ =
> 0x00000003, outpipe_ = 0x00000005, peer_identity_ =&(...)), line 639 in
> "socket_base.cpp"
> zmq::socket_base_t::attach_pipes(zmq::reader_t*,zmq::writer_t*,const
> std::basic_string<unsigned char,std::char_traits<unsigned
> char>,std::allocator<unsigned char> >&)(this = 0x00000140, inpipe_ =
> 0x00000003, outpipe_ = 0x00000005, peer_identity_ =&(...)), line 639 in
> "socket_base.cpp"
> unnamed block in connect(const char*)(this = 0xd435a5d8, addr_ = (nil)), line
> 249 in "socket_base.cpp"
> unnamed block in connect(const char*)(this = 0xd435a5d8, addr_ = (nil)), line
> 249 in "socket_base.cpp"
> connect(const char*)(this = 0xd435a5d8, addr_ = (nil)), line 249 in
> "socket_base.cpp"
> zmq_connect(s_ = 0x10001078, addr_ = ""), line 346 in "zmq.cpp"
> zmq::socket_t::connect(const char*)(this = 0x2ff22804, addr_ =
> "tcp://localhost:5555"), line 239 in "zmq.hpp"
> unnamed block in main(), line 17 in "zmqclient208.cpp"
> main(), line 17 in "zmqclient208.cpp"
addr_ = (nil) is strange, but it may be just optimised out. Compiling
with -g -O0 helps with this kind og thing (gcc).
But yes, it looks more like a problem with SSL. The call should not fail
in this fashion. The arguments look like they cannot be messed up:
unsigned char rand_buf [16];
int ret = RAND_bytes (rand_buf, sizeof rand_buf);
Martin
_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev