(Illustration by Gaich Muramatsu)
> The crash happened in the RPC2 library, but you didn't mention which > rpc2 version you have installed. From the arguments it looks like it > tried to send a ViceGetWBPermit rpc call, but I don't see right now how > packing those arguments (only 4 integers) can lead to a crash. In case of interrest: I also played around with write-back, and I also got venus crashing after invoking "cfs wb". I think the evil line can be found in the file vol_permits.cc: In the method "int repvol::GetPermit(uid_t uid)" you can read: code = (int) MRPC_MakeMulti(ViceGetWBPermit_OP, ViceGetWBPermit_PTR, VSG_MEMBERS, m->rocc.handles, m->rocc.retcodes, m->rocc.MIp, 0, 0, vid, fid, permitvar_ptrs); --- the parameter fid is a structure and has to be passed by reference and not by value. When I change the function call to code = (int) MRPC_MakeMulti(ViceGetWBPermit_OP, ViceGetWBPermit_PTR, VSG_MEMBERS, m->rocc.handles, m->rocc.retcodes, m->rocc.MIp, 0, 0, vid, &fid, permitvar_ptrs); ----- everything works allright... and I get a "not permitted" code back. Cheers MichaelReceived on 2004-07-01 21:27:27