06-01-2012
Thread specific data from linux core dump
How do i get pointer to thread's local storage or thread specific data while analyzing core dump for linux ?
i use pthread_setspecific to store some data in the pthread's local stoare.
my multi threaded program on linux crashed, and i want to see what is stored in current running thread's local storage.
If i get pointer to thread's local storage i can use key to get the data that is stored.
Is there a command in gdb to get the pointer to thread's local storage?
10 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
help, what is the difference between core dump and panic dump? (1 Reply)
Discussion started by: aileen
1 Replies
2. UNIX for Advanced & Expert Users
Hi All,
i am new to this forum.i want detail of reading the core file and trace the problem because of what the program get crashed.please help me.if any body knows any website or tutoril plese let me know.
sudhir (6 Replies)
Discussion started by: sudhir patnaik
6 Replies
3. AIX
My application gives core dump. When i am debugging with dbx getting instructions below:
pthdb_session.c, 818: 695445 PTHDB_INTERNAL (internal error)
pthreaded.c, 1941: PTHDB_INTERNAL (internal error)
Illegal instruction (illegal opcode) in . at 0x0
warning: Unable to access address 0x0... (1 Reply)
Discussion started by: bapi
1 Replies
4. Programming
how to view core dumped file using gdb and how to extract information from the coredumped file.can we get similar information from the other utilites like strace or ptrace. (2 Replies)
Discussion started by: Manabhanjan
2 Replies
5. Programming
Could any one please suggest me how to solve this......
when I compiled the program and tried to execute it as follows, it works fine under different inputs like:
./main -r 300 -w 3 -s 100
./main -r 600 -w 3 -s 1000
./main -r 10 -w 3 -s 100
But it fails when I tired to give the input as... (1 Reply)
Discussion started by: kumars
1 Replies
6. AIX
Hi ,
I want to read core dump file on AIX5.3. While i am trying to use following commands, i am getting only few lines of information.
ux201p3:e46123> dbx capsWrkstnMgr core
Type 'help' for help.
reading symbolic information ...
Segmentation fault in malloc_common.extend_brk at... (1 Reply)
Discussion started by: rps
1 Replies
7. HP-UX
Hi Guys,
I was wondering if somebody could give me a link to a very good source of information or document about core dump process and How to's about it. I have also googled it and found some articles myself.
Thanks
Messi (1 Reply)
Discussion started by: messi777
1 Replies
8. Emergency UNIX and Linux Support
Hi,
I have got core dump stating "core.bash.29846" so i am unable to open.
How to open the core dump file for further analysis?
Reagards
Vanitha (7 Replies)
Discussion started by: vanitham
7 Replies
9. UNIX for Dummies Questions & Answers
Can any body provide me some good link to learn to create and analyze linux user mode application / kernel module core dumps? (1 Reply)
Discussion started by: rupeshkp728
1 Replies
10. Red Hat
Hello All,
I am new joiner of this forum.I am new to Linux shell scripting.
At present I have identified 1 application which stalls very frequently (PID is say xyz) and I am not having much information in its application log to identify the root cause of stalling. I need to take the core dump... (19 Replies)
Discussion started by: Anjan Ganguly
19 Replies
LEARN ABOUT DEBIAN
iv_tls_user_register
iv_tls(3) ivykis programmer's manual iv_tls(3)
NAME
iv_tls_user_register, iv_tls_user_ptr - thread-local storage handling for ivykis modules
SYNOPSIS
#include <iv_tls.h>
struct iv_tls_user {
size_t sizeof_state;
void (*init_thread)(void *st);
void (*deinit_thread)(void *st);
};
void iv_tls_user_register(struct iv_tls_user *tu);
void *iv_tls_user_ptr(struct iv_tls_user *tu);
DESCRIPTION
The iv_tls interface provides thread-local storage handling to ivykis modules.
An ivykis module can arrange for an amount of memory to be allocated for its use in each ivykis thread by calling iv_tls_user_register.
This must be done before any calls to iv_init have been made in this process, and is typically done from a module initialization function
marked as a constructor function.
The ->sizeof_state member of the passed-in structure indicates how many bytes of memory the module wants allocated for its use in every
ivykis thread.
When a thread calls iv_init, ->sizeof_state bytes of memory will be allocated for use by this module in that thread, and initialised to
zero. A pointer to this memory area can be obtained by calling iv_tls_user_ptr (which returns NULL in non-ivykis threads).
If the specified ->init_thread function pointer is not NULL, it will be invoked at the end of iv_init, with its argument pointing to this
thread's memory area allocation for this module.
If ->deinit_thread is not NULL, it will be invoked at the start of iv_deinit, or if the thread fails to call iv_deinit before terminating,
at thread termination time. The argument passed into ->deinit_thread is the same as for ->init_thread.
It is permitted to call any ivykis API functions from the ->init_thread and ->deinit_thread callbacks.
There is no explicit serialization on calls to ->init_thread and ->deinit_thread.
Care must be taken when calling iv_tls_user_ptr from a signal handler, as there is a time window where it will return a non-NULL value
before ->init_thread or after ->deinit_thread have been called.
Use of iv_tls for managing thread-local state is preferred over direct use of the __thread keyword, as not all platforms that ivykis runs
on provide the __thread keyword.
Use of iv_tls for managing thread-local state is preferred over direct use of the pthread_key_create and pthread_setspecific APIs, as
iv_tls provides a thread init hook as well as a destructor hook, and properly sequences ->init_thread and ->deinit_thread calls with core
ivykis initialization and cleanup.
SEE ALSO
iv_init(3)
ivykis 2012-03-30 iv_tls(3)