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
<http://msgpairarray.sm:815> 0x808d998
msgpairarray_completion_fn() at msgpairarray.sm:606
<http://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 <http://sys-lookup.sm:541>
0x8062315
PVFS_sys_lookup() at sys-lookup.sm:597 <http://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 <http://sys-lookup.sm:472>
0x8061fde
PVFS_sys_ref_lookup() at sys-lookup.sm:528 <http://sys-lookup.sm:528>
0x80622e3
PVFS_sys_lookup() at sys-lookup.sm:597 <http://sys-lookup.sm:597>
0x8062492
api_lookup() at api-lookup.h:29 0x8052d3e
main() at api-server.c:506 0x8054337
gdb
_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers
_______________________________________________
Pvfs2-developers mailing list
Pvfs2-developers@beowulf-underground.org
http://www.beowulf-underground.org/mailman/listinfo/pvfs2-developers