Hi,
is there any overview which classes are/are not currently thread safe?
Cheers,
Miro
Hi,
is there any overview which classes are/are not currently thread safe?
Cheers,
Miro
Dear Miro,
such a document is not yet available. On the other hand, a pragmatic alternative is available and is represented by the multicore tutorials, where the expression of parallelism within ROOT is reviewed via concrete examples: root.cern/doc/master/group__tut … icore.html
Cheers,
Danilo
Hi,
now I’m having a concrete problem I do not really understand:
[quote]Number of threads: 7
Number of threads: 7
Number of threads: 7
Number of threads: 1
Wall Time = 1.72234606743
CPU Time = 7.393376
loading intermediate
Number of threads: 1
*** Break *** segmentation violation
print "Pretty STL & QT Activated"
^
Thread 7 (Thread 0x7f7682278700 (LWP 4052)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f7682278700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 6 (Thread 0x7f7681a77700 (LWP 4053)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f7681a77700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 5 (Thread 0x7f7681276700 (LWP 4054)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f7681276700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 4 (Thread 0x7f7680a75700 (LWP 4057)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f7680a75700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 3 (Thread 0x7f7680274700 (LWP 4059)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f7680274700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
Thread 2 (Thread 0x7f767fa73700 (LWP 4061)):
#0 0x00007f7686bf3b72 in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#1 0x00007f7686bf235e in ?? () from /usr/lib/x86_64-linux-gnu/libgomp.so.1
#2 0x00007f7685b7c184 in start_thread (arg=0x7f767fa73700) at pthread_create.c:312
#3 0x00007f768670937d in clone () at …/sysdeps/unix/sysv/linux/x86_64/clone.S:111
:~/workspace/claws_phaseI/claws_calibration$ [/quote]
I’m running something in a parallel loop with:
Which seems to work (couting the Number of threads 7). This part is than finished and the program switches to 1 thread again (couting the Number of threads 1). In the single thread part I’m than running the following code:
What I do not understand, why are multiple threads appearing in the error message in a part of the code with only one thread? And why is the method failing in general? I’m running the exact same code in the single thread region like I did before. It seems like root is still “sensing” the threads and getting into trouble?
Cheers,
Miro
Hi Miro,
the threads are there since the openmp runtime manages them (see the library associated to them). GDB is working correctly and informing us of this while dumping the stacktrace.
Do you have a minimal reproducer for your failure?
Cheers,
Danilo