|
From: Mathieu M. <Mat...@cr...> - 2003-04-11 17:31:42
|
Hi all, Once again I'll start by saying that I am a newbie and please bear with me...blabla Ok now I introduced myself ;) I have two questions: 1. What does : "valgrind's libpthread.so: KLUDGED call to: pthread_cond_destroy" means ? I wasn't able to translate KLUDGED ... 2. And what does " Syscall param writev(vector[...]) contains uninitialised or unaddressable byte(s) at 0x40237951: my_do_syscall3 (vg_libpthread.c:2389) by 0x40236BA8: vgIntercept_writev (vg_libpthread.c:2055) by 0x4017BF68: __writev (vg_intercept.c:287) by 0x43246B45: (within /usr/X11R6/lib/libX11.so.6.2) Address 0x413C7FD8 is 124 bytes inside a block of size 2048 alloc'd at 0x40165F4D: calloc (vg_clientfuncs.c:242) by 0x4321D6FE: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2) by 0x430BEB12: gdk_init_check (in /usr/lib/libgdk-1.2.so.0.9.1) by 0x42EC3CA1: gtk_init_check (in /usr/lib/libgtk-1.2.so.0.9.1)" means ? Please note that this message isn't shown if I start my app with option '--sync', which mean that X whill be started in synchronize mode : XSynchronize(display,True). If this sole message doesn't give any clue on what the problem is, could someone told me what to do then (use gtk debug lib, X debug lib -if such beast exists-, ...) I was running valgrind on my linux box with lastest nvidia driver with the following command line: __GL_FORCE_GENERIC_CPU=1 valgrind -v --leak-check=yes python2.2 wxMyApp.py thanks, mathieu Ps: I am trying to debug an app that works perfectly if using '--sync' option but freeze my X session if started without '--sync' option. -- Mathieu Malaterre CREATIS 28 Avenue du Doyen LEPINE B.P. Lyon-Montchat 69394 Lyon Cedex 03 http://www.creatis.insa-lyon.fr/~malaterre/ |
|
From: Nicholas N. <nj...@ca...> - 2003-04-13 09:47:15
|
On Fri, 11 Apr 2003, Mathieu Malaterre wrote: > 1. What does : "valgrind's libpthread.so: KLUDGED call to: > pthread_cond_destroy" means ? > > I wasn't able to translate KLUDGED ... 'kludged' means something like 'faked' or 'handled semi-bogusly'. I'm not sure exactly what it means in this context, but some parts of V's libpthread.so aren't really complete. It may not matter for your program, I think. > 2. And what does > > " Syscall param writev(vector[...]) contains uninitialised or > unaddressable byte(s) > at 0x40237951: my_do_syscall3 (vg_libpthread.c:2389) > by 0x40236BA8: vgIntercept_writev (vg_libpthread.c:2055) > by 0x4017BF68: __writev (vg_intercept.c:287) > by 0x43246B45: (within /usr/X11R6/lib/libX11.so.6.2) > Address 0x413C7FD8 is 124 bytes inside a block of size 2048 alloc'd > at 0x40165F4D: calloc (vg_clientfuncs.c:242) > by 0x4321D6FE: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2) > by 0x430BEB12: gdk_init_check (in /usr/lib/libgdk-1.2.so.0.9.1) > by 0x42EC3CA1: gtk_init_check (in /usr/lib/libgtk-1.2.so.0.9.1)" > > means ? Some code within libX11.so.2 is calling the sys call writev() with some bogus memory -- in this case, it looks like some of the memory block passed to writev() (via a pointer) is uninitialised. The 2nd half of the error tells you where the block in question was allocated. If it's in libX11.so, that might be out of your control? in which case you could suppress it if it does not affect your program, but it sounds like it unfortunately does in this case. N |
|
From: Mathieu M. <Mat...@cr...> - 2003-04-14 08:17:08
|
Nicholas, Thanks for replying, anyway I still have some questions. 1. I would like to know where the 'KLUDGED call' happens in my soft, is it possible to trace it or print the call tree ? 2. Is the python garbage collector well supported in valgrind ? 3. AS I am having troubles (well just guessing fow now) with threads on my SMP linux box does anyone know how to force the soft to only use *one* thread (either from c/c++ or python...)? thanks, mathieu Nicholas Nethercote wrote: > On Fri, 11 Apr 2003, Mathieu Malaterre wrote: > > >>1. What does : "valgrind's libpthread.so: KLUDGED call to: >>pthread_cond_destroy" means ? >> >>I wasn't able to translate KLUDGED ... > > > 'kludged' means something like 'faked' or 'handled semi-bogusly'. I'm not > sure exactly what it means in this context, but some parts of V's > libpthread.so aren't really complete. It may not matter for your program, > I think. > > >>2. And what does >> >>" Syscall param writev(vector[...]) contains uninitialised or >>unaddressable byte(s) >>at 0x40237951: my_do_syscall3 (vg_libpthread.c:2389) >>by 0x40236BA8: vgIntercept_writev (vg_libpthread.c:2055) >>by 0x4017BF68: __writev (vg_intercept.c:287) >>by 0x43246B45: (within /usr/X11R6/lib/libX11.so.6.2) >>Address 0x413C7FD8 is 124 bytes inside a block of size 2048 alloc'd >>at 0x40165F4D: calloc (vg_clientfuncs.c:242) >>by 0x4321D6FE: XOpenDisplay (in /usr/X11R6/lib/libX11.so.6.2) >>by 0x430BEB12: gdk_init_check (in /usr/lib/libgdk-1.2.so.0.9.1) >>by 0x42EC3CA1: gtk_init_check (in /usr/lib/libgtk-1.2.so.0.9.1)" >> >>means ? > > > Some code within libX11.so.2 is calling the sys call writev() with some > bogus memory -- in this case, it looks like some of the memory block > passed to writev() (via a pointer) is uninitialised. The 2nd half of the > error tells you where the block in question was allocated. > > If it's in libX11.so, that might be out of your control? in which case you > could suppress it if it does not affect your program, but it sounds like > it unfortunately does in this case. > > N > > > -- Mathieu Malaterre CREATIS 28 Avenue du Doyen LEPINE B.P. Lyon-Montchat 69394 Lyon Cedex 03 http://www.creatis.insa-lyon.fr/~malaterre/ |
|
From: Nicholas N. <nj...@ca...> - 2003-04-14 17:33:56
|
On Mon, 14 Apr 2003, Mathieu Malaterre wrote:
> 1. I would like to know where the 'KLUDGED call' happens in my soft, is
> it possible to trace it or print the call tree ?
Does your code call pthread_cond_destroy anywhere?
These options may be useful:
--trace-sched=no|yes show thread scheduler details? [no]
--trace-pthread=none|some|all show pthread event details? [no]
> 2. Is the python garbage collector well supported in valgrind ?
In theory, any program should work ok, so it should...
> 3. AS I am having troubles (well just guessing fow now) with threads on
> my SMP linux box does anyone know how to force the soft to only use
> *one* thread (either from c/c++ or python...)?
I don't know about that one.
N
|