|
From: Ralph R. P. <rr...@sa...> - 2003-11-12 22:11:51
|
Hello! Valgrind was suggested to me as an superior alternative to purify, which isn't avaliable for linux systems! I installed it and it worked on simple stuff. However, it will not work on the software that I have spent the last 4 years developing (Rapid World Modeler). I thought that I would forward the error to this group in hopes that someone might write the bit of code to fix the problem. I don't have the expertise to do the right thing to fix it. I am running RedHat 9 and using valgrind 2.0.0. Thanks Ralph Peters Intelligent Systems and Robotics Center Sandia National Laboratories Albuquerque, NM USA 87112 &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& [rrpeter@toumeya rwm]$ /usr/local/bin/valgrind -v wish viewer_scripts/viewer_CDF ==31902== Memcheck, a.k.a. Valgrind, a memory error detector for x86-linux. ==31902== Copyright (C) 2002-2003, and GNU GPL'd, by Julian Seward. ==31902== Using valgrind-2.0.0, a program supervision framework for x86-linux. ==31902== Copyright (C) 2000-2003, and GNU GPL'd, by Julian Seward. ==31902== Command line: ==31902== wish ==31902== viewer_scripts/viewer_CDF ==31902== Startup, with flags: ==31902== --suppressions=/usr/local/lib/valgrind/default.supp ==31902== -v ==31902== Reading syms from /usr/bin/wish8.3 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /lib/ld-2.3.2.so ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/local/lib/valgrind/vgskin_memcheck.so ==31902== Reading syms from /usr/local/lib/valgrind/valgrind.so ==31902== Reading syms from /usr/lib/libtk8.3.so ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/lib/libtcl8.3.so ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/X11R6/lib/libX11.so.6.2 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /lib/libdl-2.3.2.so ==31902== object doesn't have any debug info ==31902== Reading syms from /lib/libm-2.3.2.so ==31902== object doesn't have any debug info ==31902== Reading syms from /lib/libc-2.3.2.so ==31902== object doesn't have any debug info ==31902== Reading suppressions file: /usr/local/lib/valgrind/default.supp ==31902== Estimated CPU clock rate is 3088 MHz ==31902== ==31902== Reading syms from /usr/X11R6/lib/X11/locale/lib/common/xlcUTF8Load.so.2 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/X11R6/lib/X11/locale/lib/common/ximcp.so.2 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/X11R6/lib/libXcursor.so.1.0 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/X11R6/lib/libXrender.so.1.2 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /usr/X11R6/lib/libXext.so.6.4 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /home/rrpeter/code/C++-code/umbra/lib/libslu.so ==31902== Reading syms from /usr/lib/libstdc++.so.5.0.3 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /lib/libgcc_s-3.2.2-20030225.so.1 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info ==31902== Reading syms from /home/rrpeter/code/C++-code/umbra/lib/libumbra.so ==31902== Reading syms from /home/rrpeter/code/C++-code/umbra/lib/libusv.so ==31902== Reading syms from /usr/lib/libpng12.so.0.1.2.2 ==31902== object doesn't have a symbol table ==31902== object doesn't have any debug info --31902-- FATAL: unhandled syscall: 243 --31902-- Do not panic. You may be able to fix this easily. --31902-- Read the file README_MISSING_SYSCALL_OR_IOCTL. ==31902== ==31902== Valgrind detected that your program requires ==31902== the following unimplemented functionality: ==31902== no wrapper for the above system call ==31902== This may be because the functionality is hard to implement, ==31902== or because no reasonable program would behave this way, ==31902== or because nobody has yet needed it. In any case, let me know ==31902== (js...@ac...) and/or try to work around the problem, if you can. ==31902== ==31902== Valgrind has to exit now. Sorry. Bye! ==31902== sched status: Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0 ==31902== at 0x40006150: _dl_map_object_from_fd (in /lib/ld-2.3.2.so) ==31902== by 0x4000468A: _dl_map_object_internal (in /lib/ld-2.3.2.so) ==31902== by 0x4000BC27: openaux (in /lib/ld-2.3.2.so) ==31902== by 0x4000C265: _dl_catch_error_internal (in /lib/ld-2.3.2.so) [rrpeter@toumeya rwm]$ grep 243 /usr/include/asm/unistd.h #define __NR_set_thread_area 243 [rrpeter@toumeya rwm]$ man 2 set_thread_area No entry for set_thread_area in section 2 of the manual |
|
From: Tom H. <th...@cy...> - 2003-11-12 22:30:50
|
In message <3FB...@sa...>
"Ralph R. Peters" <rr...@sa...> wrote:
> Valgrind was suggested to me as an superior alternative to purify, which
> isn't avaliable for linux systems! I installed it and it worked on
> simple stuff. However, it will not work on the software that I have
> spent the last 4 years developing (Rapid World Modeler).
>
> I thought that I would forward the error to this group in hopes that
> someone might write the bit of code to fix the problem. I don't have
> the expertise to do the right thing to fix it.
>
> I am running RedHat 9 and using valgrind 2.0.0.
You're using RedHat 9 so this could be an NPTL related problem, as
the set_thread_area system call is part of the new threading model.
That said, this isn't the normal failure mode for NPTL and from the
filenames in stack trace it looks like valgrind has correctly forced
a fallback to the older threading model.
Do you perhaps have some custom threading code of your own that is
using this system call? or perhaps a library that you are using does?
Unfortunately simply implenting a wrapper for the system call is
unlikely to help much in this case, as being able to set the thread
area is much use on it's own.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|