From: <er...@he...> - 2003-07-31 16:50:11
|
On Wed, Jul 30, 2003 at 10:55:12PM -0400, Nicholas Henke wrote: > On Tue, 2003-07-01 at 11:05, er...@he... wrote: > > > > I believe clone works. Most of the interesting stuff with clone is > > local to the node and BProc doesn't get involved at all. So, in > > theory, it should be possible to make Java work. > > Ok -- finally getting around to tracking this down again. > > > In terms of what needs to be done, that depends entirely on what > > you're trying to run. I've done some simple pthreads things on nodes > > w/o problems. The first place to look is probably strace output of a > > program that fails. Then try and figure out how what the app is > > seeing differs from what it's expecting. > > Ok -- attached is the end of the strace from 'strace -f bpsh 7 > /usr/java/j2sdk1.4.1_01/bin/java -version'. There are some calls to > SYS_223, which I am guessing is the bproc syscall. I am going to attempt > to decipher those calls a bit, but I would appreciate any help you may > have on this one. I think you're going to have some difficulty getting good/clean straces if you're doing strace -f with bpsh. The -f flag doesn't catch the children of bpsh since strace doesn't recognize bproc_vexecmove_io as a variant of fork() (which it is). The "-f" flag is racy in general. The child process will likely run a bit before strace gets a chance to attach to it. This is presuming that strace isn't quite clever enough to force CLONE_PTRACE yet. I'm not sure if it is. It might be. strace might be problematic for Java in general since it might call clone a lot on its own. Anyway, the point of this rambling story is that when I need to strace something on a slave node, I usually end up copying the binary out to the slave node and doing something like: bpsh X strace blah That way bpsh doesn't get caught in the strace. Oh, an SYS_223 is BProc. I wouldn't bother trying to figure out what those calls are since it's bpsh doing them and not Java. It's going to be some node info stuff and then a call to bproc_vexecmove_io. - Erik |