2010-06-17 06:49:28 utc |
lbt |
Engine running |
2010-06-17 06:49:29 utc |
lbt |
Segmentation fault |
2010-06-17 06:49:53 utc |
jmettraux |
hello |
2010-06-17 06:50:02 utc |
lbt |
http://gist.github.com/441770 |
2010-06-17 06:50:04 utc |
lbt |
:) |
2010-06-17 06:50:20 utc |
lbt |
good morning |
2010-06-17 06:50:53 utc |
lbt |
what a way to start the day ... a nice hot cup of syssegv |
2010-06-17 06:51:08 utc |
jmettraux |
do you have more information ? |
2010-06-17 06:51:35 utc |
lbt |
http://gist.github.com/441773 |
2010-06-17 06:52:00 utc |
lbt |
I ran a simple strace but I thought I'd ask in case there was something you knew about |
2010-06-17 06:52:22 utc |
jmettraux |
no clue |
2010-06-17 06:53:08 utc |
lbt |
clock_gettime(CLOCK_REALTIME, {1276757928, 210634537}) = 0 |
2010-06-17 06:53:10 utc |
lbt |
futex(0x411860a4, FUTEX_WAIT_PRIVATE, 1117, {0, 9923463}+++ killed by SIGSEGV +++ |
2010-06-17 06:53:38 utc |
jmettraux |
I could just install rabbitmq, build an env similar to yours (which ruby patch level and which platform BTW ?) and try with http://gist.github.com/441773 and it could expose the issue ? |
2010-06-17 06:54:12 utc |
lbt |
well, http://gitorious.org/meego-infrastructure-tools/boss |
2010-06-17 06:54:39 utc |
jmettraux |
ouch |
2010-06-17 06:54:45 utc |
lbt |
http://gitorious.org/meego-infrastructure-tools/boss/blobs/master/demo/README |
2010-06-17 06:55:17 utc |
lbt |
I'm happy to dig a little deeper first |
2010-06-17 06:55:25 utc |
jmettraux |
ok |
2010-06-17 06:57:07 utc |
jmettraux |
what's your impression ? |
2010-06-17 06:57:59 utc |
lbt |
of ? |
2010-06-17 06:58:02 utc |
lbt |
this crash? |
2010-06-17 06:58:13 utc |
jmettraux |
your gut feeling |
2010-06-17 06:58:31 utc |
lbt |
ruby / gem setup |
2010-06-17 06:59:44 utc |
lbt |
mmm.... same setup (nfs shared code) on a different machine that used to work also segfaults |
2010-06-17 07:00:05 utc |
jmettraux |
what changed since "used to work" ? |
2010-06-17 07:00:08 utc |
lbt |
and this is actually untouched userlevel code |
2010-06-17 07:00:11 utc |
lbt |
Bundler |
2010-06-17 07:00:27 utc |
jmettraux |
0.9.26 ? |
2010-06-17 07:00:52 utc |
lbt |
es |
2010-06-17 07:00:53 utc |
lbt |
y |
2010-06-17 07:01:24 utc |
lbt |
FYI I backed away from rvm when it started to want to compile ruby... :) |
2010-06-17 07:01:35 utc |
jmettraux |
ah ok |
2010-06-17 07:05:03 utc |
lbt |
FWIW here is the main process: http://gist.github.com/441784 line 157 is where it clone()s and http://gist.github.com/441785 is the clone pid |
2010-06-17 07:07:15 utc |
jmettraux |
Is there a ruby file + line number pointed at ? (sorry my trace reading skills are low) |
2010-06-17 07:07:51 utc |
lbt |
no... I'm not used to ruby debugging... :) |
2010-06-17 07:11:44 utc |
jmettraux |
:( |
2010-06-17 07:12:30 utc |
lbt |
http://gist.github.com/441789 |
2010-06-17 07:13:20 utc |
lbt |
OK... I'll leave it for now... just poking b4 I had to get the train ;) |
2010-06-17 07:13:35 utc |
jmettraux |
/tmp is on NFS ? |
2010-06-17 07:13:57 utc |
lbt |
no.... that's why I use it :) |
2010-06-17 07:14:06 utc |
lbt |
it doesn't like NFS4 |
2010-06-17 07:14:12 utc |
jmettraux |
open("/tmp/work/expressions/be/0!!20100617-bitzuharube.json", O_WRONLY|O_CREAT|O_TRUNC|O_LARGEFILE, 0666) = 7 |
2010-06-17 07:14:12 utc |
jmettraux |
ioctl(7, SNDCTL_TMR_TIMEBASE or TCGETS, 0xb75754b8) = -1 ENOTTY (Inappropriate ioctl for device) |
2010-06-17 07:14:29 utc |
jmettraux |
does it mean it fails to open this file ? |
2010-06-17 07:15:52 utc |
lbt |
../be doesn't exist |
2010-06-17 07:16:04 utc |
lbt |
only /tmp/work/expressions/bo |
2010-06-17 07:17:03 utc |
jmettraux |
potentially quick experiment, does Ruote::HashStorage instead of Ruote::FsStorage work ? |
2010-06-17 07:18:56 utc |
jmettraux |
0!!20100617-bitzuharube.json is a filename for the root (first) expression of a process instance, it means it's actually launching this new process 20100617-bitzuharube |
2010-06-17 07:19:47 utc |
lbt |
I use 2 scripts .. can they share a Hash ? |
2010-06-17 07:19:57 utc |
jmettraux |
it's touch the file to lock it at first, and seems to crash at / around that point |
2010-06-17 07:20:05 utc |
lbt |
*nod* |
2010-06-17 07:20:11 utc |
jmettraux |
I'm sorry, I don't understand the question |
2010-06-17 07:20:46 utc |
lbt |
I though HashStorage was in-memory for a single ruby process |
2010-06-17 07:20:57 utc |
jmettraux |
yes it is |
2010-06-17 07:21:06 utc |
lbt |
I start an engine and let it sleep |
2010-06-17 07:21:16 utc |
jmettraux |
what do you mean by 2 scripts ? 2 workers ? |
2010-06-17 07:21:22 utc |
lbt |
yes |
2010-06-17 07:21:39 utc |
lbt |
http://gist.github.com/441770 |
2010-06-17 07:21:41 utc |
lbt |
engine ^^ |
2010-06-17 07:21:56 utc |
lbt |
start process >> http://gist.github.com/441773 |
2010-06-17 07:22:19 utc |
jmettraux |
should be fine |
2010-06-17 07:22:52 utc |
jmettraux |
does the segfault occur when you run the "start process" script ? |
2010-06-17 07:23:09 utc |
jmettraux |
(I should have asked that question sooner) |
2010-06-17 07:23:31 utc |
lbt |
yes |
2010-06-17 07:23:34 utc |
lbt |
instant |
2010-06-17 07:23:46 utc |
jmettraux |
ly ? |
2010-06-17 07:23:55 utc |
lbt |
yes |
2010-06-17 07:23:57 utc |
lbt |
:) |
2010-06-17 07:24:13 utc |
jmettraux |
and the segfault occurs in the "start process" script ? |
2010-06-17 07:24:13 utc |
lbt |
hey.... leave it for now... I have to get a train |
2010-06-17 07:24:16 utc |
jmettraux |
ok |
2010-06-17 07:24:18 utc |
lbt |
no |
2010-06-17 07:24:23 utc |
lbt |
segfault is in the engine |
2010-06-17 07:24:29 utc |
jmettraux |
oh |
2010-06-17 07:24:30 utc |
lbt |
so IPC happens |
2010-06-17 07:24:42 utc |
jmettraux |
and it worked before the bundler upgrade ? |
2010-06-17 07:24:56 utc |
jmettraux |
safe ride |
2010-06-17 07:25:01 utc |
lbt |
yes... the scripts are sound.... |
2010-06-17 07:25:10 utc |
lbt |
l8r.... and thanks ;) |
2010-06-17 07:25:15 utc |
jmettraux |
ciao ! |
2010-06-17 09:58:34 utc |
tosch_le |
hi! |
2010-06-17 09:58:52 utc |
jmettraux |
tosch_le: hello ! |
2010-06-17 09:58:59 utc |
jmettraux |
thanks for helping lbt yesterday ! |
2010-06-17 09:59:26 utc |
tosch_le |
jmettraux: regarding your latest mail on the ml: wasn't there a bug in ruote-amqp which prevented the stateless configuration? http://groups.google.com/group/openwferu-users/browse_thread/thread/b629605d62ce192c |
2010-06-17 09:59:40 utc |
jmettraux |
ouch |
2010-06-17 09:59:52 utc |
jmettraux |
feel free to chime in on the ML |
2010-06-17 09:59:58 utc |
tosch_le |
ok |
2010-06-17 10:00:11 utc |
jmettraux |
I guess I will have to fix that |
2010-06-17 10:00:32 utc |
tosch_le |
there seems to be some need for a fix *grin* |
2010-06-17 10:01:27 utc |
jmettraux |
threetee was on it IIRC |
2010-06-17 10:03:07 utc |
jmettraux |
and I still have /errors to do |
2010-06-17 10:03:45 utc |
tosch_le |
/participants is on hold, too |
2010-06-17 10:22:32 utc |
jmettraux |
trying to do something about ruote-amqp |
2010-06-17 10:30:40 utc |
jmettraux |
ok, got a decent rabbitmq install |
2010-06-17 10:30:52 utc |
jmettraux |
kschiess: hopp Schwizz ! |
2010-06-17 10:31:12 utc |
kschiess |
hi jmettraux: Yes another roadblock. Got the other one resolved pretty quickly with your help. |
2010-06-17 10:31:21 utc |
kschiess |
ACTION is not much of a soccer fan |
2010-06-17 10:31:28 utc |
kschiess |
but thanks for the support anyway |
2010-06-17 10:31:36 utc |
jmettraux |
kschiess: so I wrote a method that blocks all the threads ??? |
2010-06-17 10:31:54 utc |
jmettraux |
ACTION wished he knew about the previous roadblocks |
2010-06-17 10:31:57 utc |
kschiess |
Did you? (;) no, matz is to blame ;) ) |
2010-06-17 10:32:30 utc |
jmettraux |
ouf ! |
2010-06-17 10:32:39 utc |
jmettraux |
I was afraid |
2010-06-17 10:32:41 utc |
kschiess |
Ok, the last one I resolved with something like this: http://pastie.org/1008244 |
2010-06-17 10:33:02 utc |
kschiess |
Now hitting on Postgres driver (pg gem) being implemented weirdly. |
2010-06-17 10:33:17 utc |
kschiess |
Or rather: ActiveRecord in combination with same. |
2010-06-17 10:33:26 utc |
jmettraux |
excellent |
2010-06-17 10:33:28 utc |
kschiess |
But got that resolved just now as well. |
2010-06-17 10:33:58 utc |
jmettraux |
you're fast |
2010-06-17 10:33:59 utc |
kschiess |
The commented out portion obviously serves to take me back into the saner realms of non multithreaded ruby programming |
2010-06-17 10:34:53 utc |
jmettraux |
you're free to have non thread dispatches (if you trust your participants) |
2010-06-17 10:34:58 utc |
jmettraux |
sanity +1 |
2010-06-17 10:34:59 utc |
kschiess |
Just for the record: ActiveRecord needs to connect with allow_concurrency: true, even though that's deprecated. pg driver will then use async_exec, which isn't async at all, but DOESNT BLOCK ALL RUBY |
2010-06-17 10:35:33 utc |
kschiess |
Actually, I like finding these problems now. Might go back to non threaded later anyway. |
2010-06-17 10:35:42 utc |
jmettraux |
:) |
2010-06-17 10:36:13 utc |
kschiess |
I guess you know about my work in distributing such work to processes, not threads (procrastinate on my github account) |
2010-06-17 10:36:32 utc |
jmettraux |
yes |
2010-06-17 10:36:40 utc |
kschiess |
So to sum this up: No you're not to blame. But this just is harder than needed. |
2010-06-17 10:37:48 utc |
jmettraux |
sorry, my instinct told me to farm out dispatching to thread to keep the engine seemingly snappy |
2010-06-17 10:38:52 utc |
kschiess |
I guess it would be better to make non-threaded operation default. This would make it easier for people to start with ruote. |
2010-06-17 10:39:10 utc |
jmettraux |
you're the first one to complain ;) |
2010-06-17 10:39:11 utc |
kschiess |
(And we'll have to keep working on the threaded operation, just to make this really cool). |
2010-06-17 10:39:35 utc |
kschiess |
How many others are there that don't complain? |
2010-06-17 10:39:36 utc |
kschiess |
;) |
2010-06-17 10:40:13 utc |
jmettraux |
people don't get as far as you |
2010-06-17 10:40:40 utc |
jmettraux |
they stop after asking "how do I integrate this in rails ? please send me a complete example. kthxbai" |
2010-06-17 10:42:02 utc |
kschiess |
grin. You know, that's what I do for a living ;) |
2010-06-17 10:42:17 utc |
jmettraux |
lol |
2010-06-17 10:42:38 utc |
kschiess |
I am using ruote to drive long running processes in system integration, migrating stuff over to other machines and then sending mail, this kind of thing. |
2010-06-17 10:42:52 utc |
kschiess |
Maybe I can provide some diagrams later on - maybe even blog about it. |
2010-06-17 10:43:13 utc |
jmettraux |
that would be great |
2010-06-17 13:25:36 utc |
tosch_le |
jmettraux: woah, you're fast (as usual)! thx for the fix |
2010-06-17 13:25:57 utc |
jmettraux |
:( If I were fast, I'd have /errors delivered ;-( |
2010-06-17 13:26:19 utc |
jmettraux |
are you using ruote-amqp as well ? (or planning to ?) |
2010-06-17 13:26:37 utc |
tosch_le |
no. but i'm happy when the users are |
2010-06-17 13:27:24 utc |
tosch_le |
and don't worry, after all, you get paid for other things than developing rk, i suppose. |
2010-06-17 13:27:55 utc |
tosch_le |
(and you've already done a lot for the os community) |
2010-06-17 13:27:58 utc |
tosch_le |
imho |
2010-06-17 13:28:41 utc |
jmettraux |
never enough... to pay back all the ways open source is simplifying my life |
2010-06-17 13:29:34 utc |
tosch_le |
:-) |
2010-06-17 13:29:40 utc |
tosch_le |
well said |
2010-06-17 13:58:30 utc |
jmettraux |
have a good evening ! Thanks for your help ! |
2010-06-17 14:40:12 utc |
threetee |
jmettraux: threetee was on it IIRC |
2010-06-17 14:40:35 utc |
threetee |
that was in regards to stateful/stateless implementation of RuoteAMQP remote participants, I believe |
2010-06-17 14:40:47 utc |
threetee |
it turned out to be not a bug, but human error on my part |
2010-06-17 14:41:05 utc |
threetee |
I posted the resolution to this discussion: http://groups.google.com/group/openwferu-users/browse_thread/thread/5c620ef874f4de19# |
2010-06-17 14:53:05 utc |
tosch_le |
threetee: it really was a bug, you just found (a perfectly valid) workaround imho |
2010-06-17 14:53:43 utc |
threetee |
ah, good to know |
2010-06-17 14:54:27 utc |
tosch_le |
with john's changes, you can use "participant :foo, RuoteAMQP::Participant, {:default_queue => 'work1'}" |
2010-06-17 14:54:49 utc |
tosch_le |
and can drop the queue params in the workflow definition |
2010-06-17 15:03:29 utc |
threetee |
very nice, I'll have to integrate that |
2010-06-17 15:03:52 utc |
threetee |
that was my initial preference, to set the default queue there |
2010-06-17 15:04:10 utc |
tosch_le |
jmettraux ftw ;-D |
2010-06-17 15:04:19 utc |
threetee |
I actually ran into what I think may be another bug the other day: had problems using a rabbitmq vhost other than / |
2010-06-17 15:04:28 utc |
threetee |
need to make sure I can replicate, then I'll post |
2010-06-17 15:04:42 utc |
tosch_le |
fine (not the bug, but the post) |
2010-06-17 20:14:09 utc |
lbt |
ACTION found and ran -rtracer on the segfault... 111Mb trace... |