Wednesday April 7, 2010

[Time] NameMessage
[06:21] CIA-5 zeromq2: 03Jon Dyte 07master * redfd05d 10/ (13 files in 5 dirs): devices can be created via API -
[06:21] CIA-5 zeromq2: 03Martin Sustrik 07master * r065e4d0 10/ (doc/zmq_bind.txt doc/zmq_setsockopt.txt): Merge branch 'master' of -
[08:41] CIA-5 zeromq2: 03Martin Sustrik 07master * rb0250cc 10/ builds/msvc/libzmq/libzmq.vcproj : Win32 build fixed -
[09:02] mikko good morning
[09:11] sustrik mikko: morning
[09:12] mikko sunny berlin
[09:13] mikko drinking double espresso in a cafe and waiting for my flight back
[09:14] sustrik lucky you :)
[09:15] mikko gdb is acting weird
[09:15] mikko (gdb) thread apply all bt
[09:15] mikko Cannot find new threads: generic error
[09:15] mikko do you ever get this?
[09:15] sustrik no
[09:15] sustrik but gdb sometimes acks in strange ways
[09:16] sustrik memory overwrites (?)
[09:17] mikko i get this whenever i run anything using libzmq
[09:17] mikko might be a kernel issue as well
[09:17] sustrik linux?
[09:17] mikko yep
[09:17] mikko Linux newdev 2.6.32-3-amd64 #1 SMP Wed Feb 24 18:07:42 UTC 2010 x86_64 GNU/Linux
[09:18] sustrik it behaves normally here:
[09:18] sustrik Linux istvan 2.6.31-20-generic #58-Ubuntu SMP Fri Mar 12 04:38:19 UTC 2010 x86_64 GNU/Linux
[09:18] mikko #58-ubuntu
[09:18] mikko thats a lot of compiles :)
[09:18] mikko ermm builds
[09:19] sustrik :)
[09:19] sustrik gcc 4.4.1
[09:20] mikko gcc version 4.4.3 20100108 (prerelease) (Debian 4.4.2-9)
[09:20] mikko i'll try compiling with -ggdb3
[09:20] mikko shouldnt make difference though
[09:21] mikko or my env is just a bit too bleeding edge
[09:22] mikko i added polling support last night to php-zeromq
[09:22] mikko i think it starts to be feature complete soon
[09:22] sustrik great
[09:23] sustrik we've started a 0MQ blog, so when you have it ready it can be announced via blog (if you are willing to write few paragraphs about the binding)
[09:25] mikko sure
[09:46] mikko sustrik:
[09:46] mikko is that me or libzmq?
[09:48] sustrik mikko: it's trunk or 2.0.6?
[09:50] sustrik looks like trunk...
[09:51] sustrik there's
[09:51] sustrik a bug there
[09:51] sustrik let me fix it
[09:52] mikko trunk
[09:52] mikko thanks
[09:54] CIA-5 zeromq2: 03Martin Sustrik 07master * r745db9c 10/ src/session.cpp : unitialised member in seesion_t class - fixed -
[09:54] CIA-5 zeromq2: 03Martin Sustrik 07master * r0f7aab5 10/ builds/msvc/libzmq/libzmq.vcproj : Merge branch 'master' of -
[09:55] sustrik mikko: try now
[10:01] mikko sustrik: ok, sec
[10:02] mikko off to the airport
[10:02] mikko i'll be back later ->
[10:04] sustrik cya
[19:32] mikko back!
[19:36] mikko sustrik: are you still here?
[19:43] sustrik mikko: yes
[19:44] mikko i found something new
[19:44] mikko
[19:45] mikko haven't got down to it yet
[19:45] mikko but seems to happen when i create pollitem but don't execute poll
[19:46] sustrik hm, pollitem is a dumb structure
[19:46] sustrik it should have no effect
[19:47] mikko yep, i noticed
[19:47] mikko it might be something in my code as well
[19:48] mikko # ./test
[19:48] mikko Assertion failed: load.get () == 0 (epoll.cpp:49)
[19:48] mikko Aborted
[19:48] mikko here we go
[19:48] mikko that's not the one i get though
[19:49] sustrik ok, there's definitely a race condition in socket shutdown mechanism
[19:49] sustrik it've been reported serveral times
[19:49] sustrik what i need is to reproduce it here
[19:49] sustrik do you have a test program?
[19:49] mikko ok, let me pastebin it
[19:49] mikko yes i do
[19:50] sustrik great, can you send it to me?
[19:50] mikko
[19:50] mikko there
[19:50] sustrik thx
[19:50] mikko testing with github master
[19:50] mikko (i think)
[19:50] sustrik ok
[19:51] mikko yes, interesting enough similar code generates: Invalid argument (mutex.hpp:97) under valgrind
[19:52] mikko so might be a race condition indeed
[19:53] mikko i'm probably stumbling into all possible edge cases here :)
[19:54] sustrik looks like it has to do with closing an unconnected socket...
[19:54] sustrik i'll give it a closer look tomorrow
[19:54] mikko you are right
[20:03] mikko Assertion failed: !sending_reply || !more || reply_pipe != pipe_ (rep.cpp:96)
[20:03] mikko Aborted
[20:03] mikko this is interesting as well
[21:38] lvh Hello.
[21:39] lvh I've got a use case and I'm wondering how it translates into 0MQ.
[21:39] lvh Stuff comes in, all of it gets persisted. Some of it gets pushed to a COMET server and eventually to someone's browser.
[21:40] lvh For persistence, I'd like something with load balancing and possibly failover (if possible), but the COMET part is special: out of all the persisters, only one of them needs to be pushed to, but all of the COMET listeners need to be pushed to.
[21:41] lvh Can I do that without sending a message twice?
[21:41] lvh Can I send a message twice into two exchanges?