Hi Phil, Thanks for the reply. It ended up being a messup on my end. I was mallocing 1 less byte than actually needed (for a null termination character) for a string I was using and also forgot to free something else along the way. Testing happily now, thanks.
Adam On Mon, Oct 10, 2011 at 8:00 AM, Phil Carns <[email protected]> wrote: > Hi Adam, > > I don't have any guesses as to what's going wrong, but you might want to > try running your application through valgrind to see if it gives you any > further information. That segfault that you listed below might not be the > original source of the problem. > > -Phil > > > On 10/04/2011 07:25 AM, Adam Yee wrote: > > Dear OrangeFS developers, > > I'm using the native API to write an interface to the file system. I've > been experiencing problems with PVFS_sys_lookup. I've pasted a couple of > call stacks below. As I'm "stress-testing" functionality, for example the > equivalent of pvfs2-rm or pvfs2-ls, I run into these runtime memory errors. > What I mean by stress-testing is running the program repeatedly. Errors > occur after a few consecutive tests. Really the only difference in my code > is I call PVFS_util_init_defaults once at the beginning and > PVFS_sys_finalize once at the end, while making multiple calls to the file > system in between (as opposed to each admintool utility calling both > functions upon each execution). I tested initializing and finalizing each > time I access the file system, but that produced errors immediately. Last > piece of info you need to know is that I'm calling my API functions via TCP > sockets. But since I'm just passing ascii characters over the network and > parsing them for commands (which function to run, ie rm, ls, mkdir), I don't > see how that could be a source of error. > > Anyone have an idea for a solution? Ideas where the problem is coming > from? > > Thanks, > Adam > > orangefs API Server [C/C++ Application] > /home/adam/[...] [23913] [cores: 1] > Thread [1] 23913 [core: 1] (Suspended : Signal : SIGSEGV:Segmentation > fault) > 0xb7ec57ae > 0xb7ec6ced > free() at 0xb7ec9e5d > BMI_tcp_memfree() at bmi-tcp.c:682 0x80b0a71 > PINT_serv_free_msgpair_resources() at msgpairarray.sm:815 0x808d998 > msgpairarray_completion_fn() at msgpairarray.sm:606 0x808dcc2 > PINT_state_machine_invoke() at state-machine-fns.c:140 0x808fc19 > PINT_state_machine_next() at state-machine-fns.c:317 0x809018d > PINT_state_machine_continue() at state-machine-fns.c:335 0x8090331 > PINT_client_state_machine_test() at client-state-machine.c:735 0x8057a52 > PINT_client_wait_internal() at client-state-machine.c:871 0x8057c56 > PVFS_sys_wait() at client-state-machine.c:1,036 0x8057d3e > PVFS_sys_ref_lookup() at sys-lookup.sm:541 0x8062315 > PVFS_sys_lookup() at sys-lookup.sm:597 0x8062492 > api_delete() at api-delete.h:101 0x805361b > main() at api-server.c:600 0x8053fde > gdb > > > *** glibc detected *** /home/adam/[...] : malloc(): memory corruption: > 0x080e8210 *** > > orangefs API Server [C/C++ Application] > /home/adam/[...] [24167] [cores: 0] > Thread [1] 24167 [core: 0] (Suspended : Signal : SIGABRT:Aborted) > __kernel_vsyscall() at 0xb7fe1424 > raise() at 0xb7e83941 > abort() at 0xb7e86e42 > 0xb7ebb305 > 0xb7ec5501 > 0xb7ec82fc > malloc() at 0xb7ec9f33 > PINT_smcb_alloc() at state-machine-fns.c:523 0x808f897 > PVFS_isys_ref_lookup() at sys-lookup.sm:472 0x8061fde > PVFS_sys_ref_lookup() at sys-lookup.sm:528 0x80622e3 > PVFS_sys_lookup() at sys-lookup.sm:597 0x8062492 > api_lookup() at api-lookup.h:29 0x8052d3e > main() at api-server.c:506 0x8054337 > gdb > > > > > _______________________________________________ > Pvfs2-developers mailing > [email protected]http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers > > > > _______________________________________________ > Pvfs2-developers mailing list > [email protected] > http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers > >
_______________________________________________ Pvfs2-developers mailing list [email protected] http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
