valgrind threads problem?



Hi,

I was testing one of the orbit tests
(orbit-docs/examples/threaded-calculator) with valgrind and I found a
problem. I will like to know if it is a known problem. I've compiled cvs
HEAD with --enable-purify=yes and executed valgrind with:

valgrind --alignment=8 --db-attach=yes --num-callers=20 ./mt-calculator-server

==10304== warning: Valgrind's pthread_getschedparam is incomplete
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_getschedparam is incomplete
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_setschedparam does nothing
==10304==          (scheduling not changeable)
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_destroy does nothing
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_getschedparam is incomplete
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_setschedparam does nothing
==10304==          (scheduling not changeable)
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_destroy does nothing
==10304==          your program may misbehave as a result
main thread active
Writing service reference to: calculator.ref

main thread active
main thread active
main thread active
==10304== warning: Valgrind's pthread_attr_getschedparam is incomplete
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_setschedparam does nothing
==10304==          (scheduling not changeable)
==10304==          your program may misbehave as a result
==10304== warning: Valgrind's pthread_attr_destroy does nothing
==10304==          your program may misbehave as a result
-3105036184601423385950222078912303839241979465147188830391213161164454802642149988860644241873113084560977405202849980197236711424160445429952765718814681861520410903108313933749146748443119883072542585699010522965378425806324236288.000000
+ 0.000000
main thread active
main thread active
==10304== Thread 4:
==10304== Syscall param writev(vector[...]) contains uninitialised or
unaddressable byte(s)
==10304==    at 0x1BB4CF5D: (within /lib/tls/libc-2.3.2.so)
==10304==  Address 0x1BC765FB is 43 bytes inside a block of size 2048 alloc'd
==10304==    at 0x1B907901: calloc (vg_replace_malloc.c:176)
==10304==    by 0x1B9E9B85: g_malloc0 (gmem.c:153)
==10304==    by 0x1B92D49F: get_next_indirect (giop-send-buffer.c:289)
==10304==    by 0x1B92D599: giop_send_buffer_append_copy
(giop-send-buffer.c:313)
==10304==    by 0x1B92D61C: giop_send_buffer_append (giop-send-buffer.c:330)
==10304==    by 0x1B93174F: CORBA_ORB_object_to_string (corba-orb.c:441)
==10304==    by 0x804A99C: etk_export_object_to_stream (examples-toolkit.c:62)
==10304==    by 0x804AA55: etk_export_object_to_file (examples-toolkit.c:92)
==10304==    by 0x804A568: server_in_background (mt-calculator-server.c:260)
==10304==    by 0x1BA01944: g_thread_create_proxy (gthread.c:556)
==10304==    by 0x1BA4BD42: thread_wrapper (vg_libpthread.c:867)
==10304==    by 0xB000F5DF: do__quit (vg_scheduler.c:1872)

The client command is:

./calculator-client
Reading service reference from file "calculator.ref"

As far as I know the problem looks like a purify problem, but I've tested
the factory example with this environment without problem, that's why I
think that the problem can be the giop thread buffer management but I really
don't know. Any help will be appreciated.

Greetings.

-- 

Alejandro García Castro
mailto: acastro igalia com
http://www.igalia.com


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]