Francesco, you are sooo right.

ROFL


sorry for shouting, but it is such a stupid mistake of me, that leads

to that error.


But it's very entertaining as well, so here is the story.


No matter what stage of experience one has using zmq, but if you

write real world software using it, it is just fun and sometimes it gets

really exciting.


So, for sure you guys, at least the linux guild of you, knows about the

workspaces one can use on linux desktop systems.

So you can spill all your open terminal windows and virtual machines

grouped by task's over a lot of workspaces, can watch the fruits of your

work processing tons of messages exactly the manner you have told

them to do and still have a workspace left, you run your favorite IDE in.


Then, because programmers are lacy guys, they use tools like make to

hide their boring work.


So do I, and because scp'ing the ready binary to the right virtual machine is

such a boring work, I have a "deploy" target to do that job in some automated

fashion.


General work-flow now is get your bugs out of the program and build it.

If it looks good, kill the running program in the VM's terminal it runs in,

then hit the deploy button in my IDE, start the program again. Sometimes

the binary directly sometimes using valgrind.


And because programmers in some moments are just humans, they miss
some tasks, they early defined on their very own.


So happened to me. Occasional I hit the deploy button instead of the build

button, then you go to the workspace and terminal your program runs in,

just to see, your program crashed.


Sh.t, what happened?


If you run the program directly, it sits in RAM and OS is complaining that you

cannot copy the new binary over the one it is running.

Using valgrind to run the program, the OS doesn't know about the binary in

use and just copies the new one over the old one, but valgrind isn't happy

with that, and terminates the program throwing tons of text on you.


That exactly was happening in my case. It took me a time to figure that

out, because if I hit the deploy button in my IDE, running in one workspace, I

don't see that in the very same moment the program crashes, because it's

output is shown in the another workspace.


Really stupid.


Sorry if I have been raising bug flags on some of you.


Ju








________________________________
From: zeromq-dev <[email protected]> on behalf of Francesco 
<[email protected]>
Sent: Friday, December 8, 2017 4:52 AM
To: ZeroMQ development list
Subject: Re: [zeromq-dev] how to debug that case?

Hi Jürgen,
Just a guess: could it be a signal received by your software that interrupted a 
ZMQ operation which returned EINTR instead of zero ?

Actually I never used CZMQ so that's just a wild guess.

Francesco

2017-12-07 19:39 GMT+01:00 Juergen Gnoss 
<[email protected]<mailto:[email protected]>>:


I've written a program using czmq.


Current ØMQ version is 4.2.3

built from git

zcmq built against that lib



My program generally runs very well and

handles a good amount of messeges every day.


But in occasional cases (once in 2 or 3 days) it just asserts with.


E: 17-12-07 13:17:56 zsock: invalid picture element 'a'
dcs_BSD_PortHandler: src/zsock.c:1149: zsock_vrecv: Assertion `0' failed.

I'm sure I'm not using zsock_vrecv in my program.

So I guess it's somewhere in the libs.

Any hints how I can find where the problem comes from.

Ju



_______________________________________________
zeromq-dev mailing list
[email protected]<mailto:[email protected]>
https://lists.zeromq.org/mailman/listinfo/zeromq-dev


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

Reply via email to