this issue of asserts is starting to cause me grief with my colleagues.
for example, zmq_connecter.cpp:47 reads like

        int rc = tcp_connector.set_address(protocol_, address_);
        assert(rc == 0)

until yesterday, i had never seen a problem with this.
but yesterday, we had one site have an internet connection failure.
which caused something weird to happen, which caused
the libc function getaddrinfo to fail. when that happens, the above assert 
trips.
this is hardly incoherent behaviour, but  there it is.

we are trying to figure out how to handle this.
unfortunately the guy taking over me on this project is a real
NIH person, and wants to just chuck zmq. sigh....

On Nov 16, 2012, at 5:12 AM, Martin Hurton wrote:

>> Asserts are made to check for clear incoherent behavior in a library.
>> Something that just could not happen if the library is coded properly. They
>> should check for things like function pre/post conditions. They are for
>> library developers, not end users!
>> A change in the wire format causing an assert is just not the proper way to
>> handle the problem, since this is completely unrecoverable on the library
>> user side.
>> 
>> This may be generalized to the fact that asserts should not be used for
>> anything exterior to the library (such as the wire protocol). For instance,
>> in a file management library, you don't want an assert to be triggered if
>> there is no space left on the device: you want an error code! I cannot
>> afford my whole program to crash, just because the broker on the other side
>> was updated.
> 
> Which assertion fails in this case? In which version of lib?
> 
> - Martin
> _______________________________________________
> zeromq-dev mailing list
> [email protected]
> http://lists.zeromq.org/mailman/listinfo/zeromq-dev


-----------------------
Andrew Hume
623-551-2845 (VO and best)
973-236-2014 (NJ)
[email protected]



_______________________________________________
zeromq-dev mailing list
[email protected]
http://lists.zeromq.org/mailman/listinfo/zeromq-dev

Reply via email to