> 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
Michael