Thursday September 30, 2010

[Time] NameMessage
[00:38] acts_as Does zeromq have to talk to other zeromq (or *MQ) hosts? Or can I have zeromq talk to xyz proprietary packets?
[00:57] acts_as anyone here :(
[04:12] jasong_at_apache I just found out about 0mq
[04:12] jasong_at_apache i'm like in love
[04:30] Pe_Ell heh, yeah I want to use it but I need a quick working prototype in Perl and the current drivers are blocking...
[04:30] Pe_Ell need to look into making an AnyEvent driver but prototype comes first... but I really like the project. :)
[04:59] lestrrat Pe_Ell: wait till zeromq 2.1
[04:59] lestrrat I'm going to make an AnyEvent adaptor then.
[05:00] Pe_Ell yeah, was that you I was talking to about it through email last week?
[05:00] lestrrat Ah, duh. must be.
[05:00] Pe_Ell I started looking at the C code but I needed to undistract myself... :)
[05:00] lestrrat Sounded familiar.
[05:00] Pe_Ell 0mq was a shiny object in my time of planning...
[05:01] lestrrat :)
[05:01] Pe_Ell so doing my initial design testing with AnyEvent::MP
[05:01] lestrrat I see.
[05:01] Pe_Ell but I want to switch to 0mq after I get it working
[05:02] lestrrat I would be willing to build a prototype based on the current master, but I'm also running YAPC::Asia, so I won't have time to hack on it until it's over :/
[05:02] Pe_Ell np
[05:03] Pe_Ell I've got a like a week or two of my project before I can get back to it...
[05:03] lestrrat so maybe sometime around the end of Oct... unless $dayjob catches me.
[05:03] lestrrat righto
[05:03] Pe_Ell from what I read look like you can use ZMQ_FD to trigger polling
[05:03] Pe_Ell but I didn't get terribly far into it
[05:03] lestrrat right. you just need to pass that FD as a IO object, and register a callback using AE::io
[05:04] lestrrat then call ZMQ's poll function (which I need to change the API a bit...)
[05:04] Pe_Ell yeah I was wondering if it would be that simple or not... since they mentioned that it triggers on more than just incoming events
[05:04] Pe_Ell so you might not have any events when it triggers
[05:05] lestrrat well, there may be caveats I'm missing, but sounds like you should be able to poll() and just have it return immediately w/o any messages.
[05:05] lestrrat it wouldn't matter.
[05:05] Pe_Ell that's what I was hoping
[05:05] lestrrat it /would/ matter if it /didn't/ trigger when there's a message.
[05:06] Pe_Ell yeah
[05:07] lestrrat we'll see. we might need to write a couple of wrappers around the FDs, but as long as we can decorate it like Perl IO object... we should be fine
[05:08] Pe_Ell yeah
[07:12] CIA-20 zeromq2: 03Steven McCoy 07master * r96d85b2 10/ (4 files): (log message trimmed)
[07:12] CIA-20 zeromq2: * Add assertions to check for OpenPGM calls with invalid parameters.
[07:12] CIA-20 zeromq2: * Assertion to check that pgm_getaddrinfo is actually returning something.
[07:12] CIA-20 zeromq2: * Missing pgm_connect call.
[07:12] CIA-20 zeromq2: * Typo on TOS causing immediate abort.
[07:12] CIA-20 zeromq2: * Placeholder calls for timeouts whilst continuing spin loop functionality.
[07:12] CIA-20 zeromq2: * OpenPGM v5 now supports reference counting so remove init checks.
[07:12] CIA-20 zeromq2: 03Steven McCoy 07master * rd14be62 10/ (6 files): more fixes to (e)pgm transport -
[07:12] CIA-20 zeromq2: 03Ilja Golshtein 07master * rec2e859 10/ (AUTHORS include/zmq.hpp): C++ binding destructors don't throw exceptions -
[09:33] CIA-20 zeromq2: 03Steven McCoy 07master * reaa925e 10/ src/pgm_socket.cpp : FreeBSD doesn't define MSG_ERRQUEUE -- now it's defined in 0MQ -
[09:35] CIA-20 zeromq2: 03Martin Sustrik 07master * r7881ba1 10/ src/pgm_socket.cpp : minor whitespace fix -
[10:12] js hi
[10:13] js im having problem with the importation of the dll into visual studio 2010
[10:14] js is anybody have face this trouble ?
[10:14] js for the c# implementation
[12:04] CIA-20 zeromq2: 03Martin Sustrik 07master * r98fa2fa 10/ src/xrep.cpp : fix in XREP's fair queueing mechanism -
[12:41] mrshpot hello, mato
[13:10] CIA-20 zeromq2: 03Max Wolf 07maint * r79aea5f 10/ (AUTHORS src/xrep.cpp): zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed -
[13:13] CIA-20 zeromq2: 03Max Wolf 07master * r79aea5f 10/ (AUTHORS src/xrep.cpp): zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed -
[13:13] CIA-20 zeromq2: 03Martin Sustrik 07master * rac9b05c 10/ (AUTHORS src/xrep.cpp):
[13:13] CIA-20 zeromq2: Merge branch 'maint'
[13:13] CIA-20 zeromq2: * maint:
[13:13] CIA-20 zeromq2: zmq_msg_move called on uninitialised message in xrep_t::xrecv -- fixed -
[13:31] CIA-20 zeromq2: 03Martin Lucina 07master * r8f9080e 10/ src/zmq.cpp :
[13:31] CIA-20 zeromq2: zmq_poll(): Fix busy-loop if timeout is zero
[13:31] CIA-20 zeromq2: Fix a case where zmq_poll() (poll-based version) could go off into a busy-loop
[13:31] CIA-20 zeromq2: if no revents are returned and the timeout passed in is zero. -
[13:59] mato sustrik: are you there?
[13:59] sustrik yes
[13:59] mato i get an occasional assertion on master
[13:59] mato no idea what causes it
[14:00] sustrik what's the assertion?
[14:00] mato Assertion failed: inpipe_ && outpipe_ (xrep.cpp:53)
[14:01] sustrik that should not happen
[14:01] mato will try to get a core dump
[14:01] sustrik can we reproduce it?
[14:01] mato it's very random
[14:01] sustrik hm
[14:15] mato sustrik: ok, i have a core file... it comes out of a case with close()
[14:15] mato sustrik: so it's related to socket shutdown
[14:15] sustrik ack
[14:16] sustrik can i see the backtrace?
[15:39] mikko ZMQ_TYPE support added to php bindings
[15:40] mikko i like the changed semantics with zmq_close
[15:40] mikko with languages like php the 'old' semantics cause a lot of issues
[15:40] sustrik it caused lot of problems to everone
[15:41] sustrik but even the new solution is not perfect, zmq_term may now block for prolonged periods of time
[15:41] sustrik the only real solution is to have 0mq in kernel space
[15:41] mato it still needs discussion and fixing, /me would love to write all the close semantics down properly but is bogged down in work for a client
[15:42] mato sustrik: that solution is years away, hence not a solution :)
[15:42] sustrik sure
[15:42] mikko zmq_close with timeout would be nice i guess
[15:43] mikko as intermediate solution
[15:43] sustrik yeah, SO_LINGER has to be added
[15:43] sustrik it's on TODO list
[15:43] mikko im one step behind
[15:43] mikko been on holidays in sunny istanbul
[15:43] mikko mainly focusing on kebab and raki
[15:43] sustrik lucky you
[15:44] mikko how did the meeting go in london?
[15:44] sustrik there was a tube strike exactly that day :)
[15:44] sustrik the only one who managed to get there was jon dyte
[15:45] sustrik pieter was more lucky with chicago meetup
[15:45] mikko do you come to london often?
[15:45] sustrik depends
[15:45] sustrik you've been in amsterdam last time, right?
[15:45] mikko yeah
[15:45] sustrik gonzalo just proposed another meetup in amsterdam
[15:45] sustrik won't you be around by chance?
[15:46] mikko yeah, i saw the email
[15:46] mikko it looks like im in utrecht on 18th onwards
[15:46] mikko which is short way from amsterdam
[15:46] mikko s/on/from/
[15:46] sustrik nice
[15:46] mikko that's week early though
[15:46] mikko it's either one week or two week job
[15:47] sustrik i see
[15:47] sustrik well, let's see whether some other folks are interested in the meetup
[15:47] mikko amsterdam is pretty easy to get from most of the europe
[15:48] mikko 45 mins flight from here
[15:48] sustrik ack
[15:50] mikko i would be keen on meet-up if an opportunity comes up
[15:51] mikko hmmm, i get a quota of conference days to spend from work
[15:51] mikko are you talking in any upcoming event?
[15:53] sustrik nope, it's just a beer event
[15:54] sustrik i thought that if 5-6 people would come there it would be worth of spending a day in amsterdam
[15:54] sustrik but it's just social
[15:55] sustrik btw, one think we've talked about with jon dyte is whether it wouldn't make sense to organise a small 0mq meetup/conference
[15:56] mikko that would be nice
[15:56] mikko varnish people do those occasionally
[15:56] sustrik it's purely theoretical so far
[15:56] mikko they also brainstorm on features etc
[15:56] sustrik ack
[15:57] sustrik the logistics is obvious problem
[15:57] sustrik people are all around the globe
[15:57] mikko
[15:57] mikko that kind of thing
[15:57] sustrik yes, something like that
[15:57] mikko maybe we could try to organise it around a larger conference
[15:58] sustrik one option would be to hold it after fossdem
[15:58] sustrik in brussels
[15:58] sustrik that's a really big conference
[15:58] sustrik some 2000 attendeed or so
[15:58] sustrik held jan/feb iirc
[15:59] mikko feb it seems
[15:59] mikko they give rooms to distribution miniconferences
[15:59] mikko conferences*
[15:59] mikko there was no typo actually
[16:00] mikko anyway, it seems like a sensible idea
[16:00] mikko that way people can attend fossdem and probably get their companies to pay for flights / accomodation
[16:00] sustrik there are imatix offices in brussels, so it would be easy
[16:00] mikko We hereby invite ideas and proposals for main speakers, and proposals for developer rooms. The call for stands and lightning talks will be done after announcing the accepted devrooms.
[16:00] mikko they also provide dev rooms
[16:01] sustrik but pieter has a fridge with beer at imatix office :)
[16:01] mikko sounds like a plan
[16:01] mikko mussels in brussels
[16:01] sustrik right
[16:02] mikko maybe fire the idea to mailing list and see if people pick up?
[16:03] omarkj Oh, a reason to go to Brussels?
[16:05] mikko it would be nice to brainstorm and bounce around ideas on how people use zeromq
[16:07] sustrik yes, if people are intersted we can arrange that
[16:13] mikko seems like pfsense uses the zmq php bindings
[16:13] sustrik what's that?
[16:13] mikko it's a firewall / captive portal
[16:14] sustrik interesting
[16:14] mikko "pfSense is a free, open source customized distribution of FreeBSD tailored for use as a firewall and router."
[16:14] mikko it seems they use zeromq to distribute config changes
[16:14] sustrik any idea what do they use it for?
[16:14] sustrik i see
[16:15] sustrik actually, i would like to see 0MQ devices running on routers one day
[16:15] mikko i guess that enables centralised management for firewall clusters
[16:15] sustrik but we are not that fat yet
[16:15] sustrik far*
[16:16] sustrik the idea is that a device sits at the edge of the network (in router) and redistributes messages to the local network
[16:17] mikko i think some of the concepts in zeromq are hard to grasp
[16:17] mikko for some people
[16:17] mikko well, not zeromq specific issue
[16:18] mikko more like messaging oriented approach
[16:18] mikko and some people seem to insist on 'persistent' messaging
[16:18] sustrik yes, i am aware of that
[16:18] sustrik we need to educate the crowd
[16:56] jasong_at_apache one my main dev machine which is OSX (production is ubuntu) i'm getting: ./configure: line 15263: syntax error near unexpected token `newline'
[16:56] jasong_at_apache ./configure: line 15263: ` PKG_CHECK_MODULES('
[16:56] jasong_at_apache this is optionless ./ , ./configure (stock as is)
[16:58] jasong_at_apache update: i just found the doc page....
[16:59] cremes jasong_at_apache: make sure you have libtool installed on your machine
[16:59] cremes if you use macports, do a "port install libtool" and try again
[16:59] jasong_at_apache i do, will try! thx cremes
[18:16] jasong_at_apache another issue, now with jzmq
[18:16] jasong_at_apache libtool: compile: g++ -DHAVE_CONFIG_H -I. -D_REENTRANT -D_THREAD_SAFE -I/Library/Java/Home/include -Wall -g -O2 -MT libjzmq_la-Socket.lo -MD -MP -MF .deps/libjzmq_la-Socket.Tpo -c Socket.cpp -fno-common -DPIC -o .libs/libjzmq_la-Socket.o
[18:16] jasong_at_apache Socket.cpp: In function 'jlong Java_org_zeromq_ZMQ_00024Socket_getLongSockopt(JNIEnv*, _jobject*, jint)':
[18:16] jasong_at_apache Socket.cpp:103: error: 'ZMQ_TYPE' was not declared in this scope
[18:21] cremes jasong_at_apache: i don't think the "official" bindings have been updated to work with 2.1 yet
[18:21] cremes if you are just starting to experiment, you might want to stick with 2.0.9
[18:21] jasong_at_apache ah
[18:23] jasong_at_apache sorry I'm coming across as a total noob, I am monitoring several builds figure i'd just hit you guys up for the obvious
[18:31] Guest28979 I want to setup a pub-sub system where a client sends a message to a central server that does some authentication and error checking and then publishes that message to all clients.
[18:32] omarkj Okay.
[18:32] Guest28979 I'm doing a request/response pair to send the message to the server, and pub/sub to send out the messages, and it's working beautifully, except...
[18:33] Guest28979 These are dynamic hosts, and on ocassion, the server will die and move to a different machine.
[18:33] Guest28979 Is there an elegant way to do this, or do I need to do non-blocking recv's with timeouts, and a heartbeat on the PUB/SUB side of things?
[18:35] Peaceful Is this a common problem? I'm trying to install zmq and pyzmq for the first time on my OS X 10.6 box, and it looked like it worked, but I get: ImportError: cannot import name _zmq --> when I do "import zmq"
[18:36] Peaceful Here's the full traceback:
[18:36] Peaceful I just downloaded 2.0.9, untarred it, ran ./configure, make, make install ...
[18:37] Guest28979 Peaceful: How did you install pyzmq?
[18:37] Guest28979 easy_install?
[18:37] Peaceful then downloaded pyzmq (from git), copied setup.cfg (which looked correct), and did 'sudo python install'
[18:37] Guest28979 What was the output of that?
[18:40] Peaceful <-- output of 'sudo python install'
[18:45] Peaceful <-- and here's the full output from my "./configure", "make", "sudo make install"
[18:45] Peaceful There's warnings, but it appeared that zmq and pyzmq both successfully installed...but doesn't work.
[18:46] guido_g might be a path issue
[18:47] Guest28979 I'm hardly a Mac guy, so I'm stabbing in the dark here...
[18:47] guido_g dito.
[18:48] Peaceful Hmm. There were no mac-specific install instructions for zmq...I checked "INSTALL". I wonder if zmq itself works okay...
[18:48] Guest28979 Do you have a directory that looks something like '/Library/Python/2.6/site-packages/pyzmq-2.0.9dev-py2.6.egg'?
[18:49] Peaceful no, but...
[18:49] Peaceful there is this, which is close:
[18:49] Peaceful ls /Library/Python/2.6/site-packages/zmq/
[18:49] Peaceful __init__.pyc _zmq.pxd allocate.pxd buffers.pxd eventloop log tests
[18:49] Guest28979 It's sticking an file into /Library/Python/2.6/site-package, but where is the egg itself?
[18:50] Guest28979 Ah, OK.
[18:50] Guest28979 What's the mac equivalent of ldconfig?
[18:50] Peaceful There's this: /Library/Python/2.6/site-packages/pyzmq-2.0.9dev-py2.6.egg-info
[18:50] Guest28979 Try sudo ldconfig
[18:50] Peaceful hey!
[18:50] Peaceful before I tried that, I thought, maybe I should try a new terminal
[18:50] Peaceful opening up a new terminal window worked
[18:51] Guest28979 Yeah, and the new one has the path.
[18:51] Peaceful I didn't run ldconfig
[18:51] Guest28979 Or the python path is rebuilt, or what-have-you.
[18:51] Peaceful ah, I bet "hash -r" would have fixed it in my original one...
[18:51] Peaceful er, nope
[18:51] Peaceful okay, I'll just stick with the new window :)
[18:51] Guest28979 guido_g was right, it was a path issue.
[18:51] guido_g YES!
[18:51] Guest28979 +1
[18:51] guido_g where'S the cookie? :)
[18:51] Peaceful guido_g++
[18:52] Peaceful ^-- cookie
[18:52] Peaceful thanks!
[18:52] nedjl Let's see if nickserv lets me have this one.
[18:52] rgl how good is zeromq on windows?
[18:52] Peaceful Now I'll go see if I can actually get zmq working. I only discovered its existence last night.
[18:53] mikko rgl: should be fine
[18:53] nedjl Peaceful: There's a "It's not working" workflow chart that's very good. Most of my experience with it has involved it just working.
[18:53] mikko rgl: as far as i know, cant really vouch for it as i dont use windows
[18:54] rgl are there any official windows binaries?
[18:54] nedjl I figured out a better way of asking my question -- is there a way to get an error when an endpoint goes down? I don't want zeromq to hide me from this, I need to redo some service discovery to find out where I should connect to instead.
[18:55] mikko rgl: you should be able to build easily
[18:55] rgl mikko, ok. will do. thx! :)
[18:55] mikko rgl: are you looking to use one of the language bindings?
[18:55] rgl mikko, C#
[18:56] guido_g nedjl: nope, ømq is notorously underprovisioned with this kind of stuff
[18:57] guido_g it _might_ be that you get a notification through the logging interface in the future, the distant future...
[18:57] mikko nedjl: at the moment you would probably implement some sort of heartbeat
[18:58] mikko it's getting busy in here, 66 people
[18:59] guido_g complicated by the fact that you don't know which connection is alive and that there is no way to use a specific underlying connection
[19:00] nedjl mikko, guido_g: OK. My current plan to figure out if the sub/pub socket is still alive to send out a heartbeat every few seconds, and kill off all the clients if there is no response.
[19:00] guido_g if you have use-cases involving this kind of information, *please* take the time to mention it on the mailing list
[19:01] nedjl The req/res socket I'm polling on the response to a req, and if I don't get anything after a reasonable amount of time, I redo the service discovery and try again with the new info.
[19:02] mikko indeed the hearbeat is problematic
[19:02] nedjl I've got a server that validates messages indicating events, and then spreads em around to anyone interested. That server will go down from time to time, and I want all the clients to notice and redo the service discovery if appropriate.
[19:02] mikko especially in scenarios where for example a specific port is blocked accidentally on a firewall
[19:02] mikko as the hearbeat might be going through a different port than main connection
[19:03] nedjl These are actually a cluster of EC2 servers, and I'm sending out notifications about changes in the cluster's state using this mechanism.
[19:04] mikko nedjl: and you dont know the peers addresses beforehand?
[19:04] nedjl I can't use multicast, even though it is probably the right solution, because EC2 doesn't support multicast without some gross tunneling hacks.
[19:05] mikko nedjl: doesnt pgm encapsulate the multicast into tcp?
[19:05] guido_g no
[19:05] mikko even with tcp transport?
[19:05] nedjl Machines will get added, machines will get killed. If the machine that gets killed is the one with the server, it'll get started up somewhere else, and everybody will just do a lookup to find the new location.
[19:05] guido_g no
[19:06] mikko i might've misunderstood pgm in that case
[19:07] guido_g pgm is working on ip level, ephm encapsulates it in udp
[19:07] mikko time to read rfc 3028
[19:07] guido_g *epgm
[19:07] mikko ok
[19:07] mikko i thought you could encapsulate inside tcp as well
[19:07] guido_g you can't do real multicast on tcp
[19:08] nedjl mikko: 1.1 of RFC 3028 says " PGM runs over a datagram multicast protocol such as IP multicast [5]. "
[19:08] nedjl Curses.
[19:08] mikko reading 3028 now
[19:09] mikko i guess using tcp wouldnt make much sense indeed
[19:10] mikko does epgm work in EC2?
[19:10] nedjl So it seems inevitable that I'm looking at lots of NOBLOCK and timeouts.
[19:10] guido_g no, because you said multicast doesn't work
[19:10] nedjl Lemme lok.
[19:10] mikko guido_g: i don't know anything about EC2
[19:11] mikko but i would imagine there are use-cases for multicast in 'cloud'
[19:11] guido_g <nedjl> I can't use multicast, even though it is probably the right solution, because EC2 doesn't support multicast without some gross tunneling hacks.
[19:11] guido_g mikko: definitely, but it's also not easy and might even kill the network
[19:11] mikko it might be hard to organize safely
[19:11] guido_g so it is wise to disable it
[19:12] mikko what's the current best approach to heartbeats with zmq?
[19:12] mikko use a separate oob socket for heartbeat?
[19:12] nedjl mikko: That's probably the question I should be asking.
[19:12] guido_g i don't think that there is a an easy *and* useful way for real multicast on these sold virtual machines
[19:13] guido_g if you use a separate socket your testing this one, not the other one
[19:13] mikko guido_g: i would imagine it would also require end to end encryption for the multicast
[19:14] mikko i guess it depends on how the cloud is organised, i remember some providers have private clouds with separate VLANs
[19:14] guido_g mikko: yes, and every one would be forced to use it... no way
[19:15] guido_g won't work on the "machine on demand" front
[19:15] mikko guido_g: not forced of course, but if they cared for the authenticity of the data then yes
[19:15] mikko i guess thats almost forcing
[19:15] guido_g otoh multicast steals bandwidth from other users, if a subscriber is in their network segment
[19:16] guido_g so one has to deal with that too
[19:16] guido_g i don't think real multicast will become widely used in to vapor... oops... cloud world
[19:16] mikko and non rate-limited multicast would be a bit scary
[19:21] jasong_at_apache anyone here successfully compile jzmq on osx?
[19:26] mikko jasong_at_apache: what is the problem you are facing?
[19:26] mikko i can give it a spin
[19:27] jasong_at_apache on 10.6 i've successfully compiled 2.0.9 (download area)
[19:27] jasong_at_apache yet with jzmq i get: Socket.cpp: In function 'jlong Java_org_zeromq_ZMQ_00024Socket_getLongSockopt(JNIEnv*, _jobject*, jint)':
[19:27] jasong_at_apache Socket.cpp:103: error: 'ZMQ_TYPE' was not declared in this scope
[19:27] jasong_at_apache during make
[19:27] mikko ZMQ_TYPE is in 2.1 only
[19:28] mikko and i think the type is 'int' iirc
[19:28] jasong_at_apache i thought i did a checkout -b from a previous commit (i need to do that again)
[19:28] jasong_at_apache how far back do i go? there are no tags atm
[19:28] mikko the method name suggests that its a long
[19:28] mikko jasong_at_apache: 2.1.0 zmq i mean
[19:28] mikko jasong_at_apache: the current github trunk
[19:29] jasong_at_apache so it's not worth using the binding with the maint branch?
[19:29] sustrik the change to jzmq was committed by gonzalo today
[19:29] sustrik so if you grab yesteday's version it should work with 2.0.9
[19:30] jasong_at_apache ah
[19:30] mikko jasong_at_apache: if you edit Socket.cpp line 103
[19:30] jasong_at_apache and remove it
[19:30] mikko #ifdef ZMQ_TYPE around the line should help
[19:30] jasong_at_apache and i'll grab the previous commit
[19:30] mikko sustrik: ZMQ_TYPE is 'int' ?
[19:30] sustrik mikko: yes
[19:30] mikko
[19:30] mikko looking at this jzmq uses int64_t
[19:31] sustrik gonzalo messed it up
[19:31] sustrik please, do report the problem on jzmq bugtracker
[19:33] jasong_at_apache docs want straight int
[19:34] mikko done
[19:34] sustrik thanks
[19:35] sustrik maint & master, i meant
[19:35] jasong_at_apache maint? who needs maint!
[19:36] mikko it's a lot better now
[19:36] jasong_at_apache ;-)
[19:36] mikko as there aren't breakages that often
[19:36] sustrik yeah, the versioning contract helped
[19:36] mikko are there constants for api version etc at the moment?
[19:37] sustrik just a plain 0mq version
[19:37] sustrik the api version should translate into library version
[19:37] sustrik but that's not done yet
[19:37] mikko i guess it's easy to create int out of that during configure phase
[19:38] mikko something easy to compare in preprocessor macros
[19:38] mikko something like #if ZMQ_VERSION_ID > 2001001 #else etc
[19:38] mikko 2001001 being 2.1.1
[19:38] sustrik mikko: good idea
[19:41] sustrik on the other hand, some bindings (C#, lisp) don't even include the header file
[19:46] mikko hmm
[19:47] mikko i reckon there still might be value for such a thing
[19:47] jasong_at_apache everything compiled correctly (and I'm using trunk all around), also swapped int for int64 on the zmq_type
[19:47] jasong_at_apache i meant the other way around there
[19:49] sustrik goodo
[19:49] sustrik anyway, this kind of thing is a bit scary as people are using the binding is production
[19:49] sustrik in*
[19:49] jasong_at_apache :-)
[19:50] sustrik mikko: yes, it will help for most bindings
[19:50] sustrik i'll discuss it with mato tomorrow, he's in charge of the build system
[19:55] novas0x2a i'm using zmq_poll w/ 2.0.9, REQ/REP pair, tcp or ipc proto, same context (1 process). zmq_poll never seems to notice activity. if i use inproc it works, if i use a spinloop/nonblocking-recv (no poll) it works. should i expect it to work with tcp?
[19:56] sustrik yes
[19:56] sustrik if you have a probelm, write a simple program showing it and send it to the mailing list
[19:57] novas0x2a could you do a quick sanity check to make sure i'm not pebkacing?
[19:58] novas0x2a (if you want to compile -DUSE_POLL or -DUSE_BLOCK)
[20:00] CIA-20 jzmq: 03Gonzalo Diethelm 07master * rd215dac 10/ (src/Socket.cpp src/org/zeromq/
[20:00] CIA-20 jzmq: Added support for ZMQ_FD (getFD()) and ZMQ_EVENTS (getEvents()).
[20:00] CIA-20 jzmq: Improved comments. -
[20:04] sustrik novas0x2a: the program looks ok after short inspection
[20:04] sustrik if you want someone to actually debug it though, you have to strip as much code as possible and send it to the mailing list
[20:10] jond novas0x2a: is this the error : raw.c:158: int main(int, char**): Assertion `ret' failed.?
[20:11] novas0x2a jond: that's the detection of the error, yeah (it should have printed Timeout just before that)
[20:15] jond novas0x2a: yep but when you timeout in yr code, you return 0
[20:15] CIA-20 jzmq: 03Gonzalo Diethelm 07master * r9ccc16b 10/ src/org/zeromq/ : Added support for automatically growing the size of a Poller object. -
[20:17] jond novas0x2a: and asserting on that doesnt seem to be a great idea
[20:17] novas0x2a jond: this is test code, not real code. i've been trying to map the conditions under which it doesn't work, to track it down. clearly, in real code, i would handle a timeout appropriately :)
[20:21] Peaceful okay, so I made the hello world server-client example, and it worked great until I had to kill the server, and now the server won't bind to tcp anymore. (???)
[20:21] Peaceful Here's the server code (python):
[20:21] Peaceful client code:
[20:21] Peaceful and the error when I try to start server a second time:
[20:22] Peaceful ctrl-c wouldn't stop the server, so I ended up looking up the pid and running "kill $pid"
[20:22] Peaceful this has got to be some common newbie problem, I figure...
[20:23] Peaceful But usually tcp ports become available again after you've killed the original program that was binding the port.
[20:23] Peaceful my experience, at least
[20:25] jasong_at_apache is there a mailing list keeping track of commits? (does github do this?)
[20:26] mikko github does that
[20:28] jond novas0x2a: line 63 in yr file. you redefine rc. it should read rc = zmq_poll(item, 1, timeout); and the code works
[20:30] mikko sustrik: java handles all options as int64_t (numeric ones)
[20:30] mikko so i guess thats not an issue
[20:31] novas0x2a jond: oh, man, i knew it was going to be my fault somehow. sigh.
[20:31] mikko assuming that sizeof (uint64_t) <= sizeof (int64_t) is a sane assumption
[20:32] jasong_at_apache is that only 64bit systems?
[20:35] mikko sizeof both is 8 on systems i have access to