Seeking advice on crash in __tcf_0

L

Lyndsey.Ferguson

Hello Everyone,
I am investigating a crash within our application that has me stumped.

I am developing for Mac OS X, but I believe that this may be a regular
gcc c++ type question.

Here is the stack crawl of where the application is crashing:

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0x0c3968c0

Thread 0 Crashed:
0 <<00000000>> 0x0c3968c0 0 + 0xc3968c0
1 com.mycompany.app 0x00002214 0x1000 + 0x1214
2 dyld 0x8fe1a278 _dyld_start + 0x64

After debugging it in gdb, I find that the code is crashing in a
function "__tcf_0". Which, according to my research so far, is a
function placed inside each function for a static object and is
registered with exit(). Its purpose is to call the destructor and free
the memory for that static object. When exit is called, inside it
calls each registered __tcf_0 function. The problem occurs when the
static memory is no longer valid and the crash occurs.

Do you think my research is correct? If so, how in the world do I find
where the problem is? We have many many static variables (more than I
can replace) -- how do I know where the problem lies?

Does anyone have any tips? Hopefully someone has dealt with this before

and found a solution.

I appreciate any help on this matter. Thank you in advance.

Sincerely,
Lyndsey
 
V

Victor Bazarov

I am investigating a crash within our application that has me stumped.

I am developing for Mac OS X, but I believe that this may be a regular
gcc c++ type question.

And what makes you think it's on topic here? Try gnu.g++.help. They
(GCC project) also have online discussion forums (http://gcc.gnu.org/).
Your problem is implementation-specific. And this a language newsgroup.
Please see the Welcome message for the explanations on the topicality
of c.l.c++: http://www.slack.net/~shiva/welcome.txt

V
 
J

Jim Langston

Hello Everyone,
I am investigating a crash within our application that has me stumped.

I am developing for Mac OS X, but I believe that this may be a regular
gcc c++ type question.

Here is the stack crawl of where the application is crashing:

Exception: EXC_BAD_ACCESS (0x0001)
Codes: KERN_INVALID_ADDRESS (0x0001) at 0x0c3968c0

Thread 0 Crashed:
0 <<00000000>> 0x0c3968c0 0 + 0xc3968c0
1 com.mycompany.app 0x00002214 0x1000 + 0x1214
2 dyld 0x8fe1a278 _dyld_start + 0x64

After debugging it in gdb, I find that the code is crashing in a
function "__tcf_0". Which, according to my research so far, is a
function placed inside each function for a static object and is
registered with exit(). Its purpose is to call the destructor and free
the memory for that static object. When exit is called, inside it
calls each registered __tcf_0 function. The problem occurs when the
static memory is no longer valid and the crash occurs.

Do you think my research is correct? If so, how in the world do I find
where the problem is? We have many many static variables (more than I
can replace) -- how do I know where the problem lies?

Not having used Mac OS X, but familiar with some types of errors, it sounds
to me like you are trying to delete the same memory twice. Try this small
program and see if you get the same error:

int main()
{
int* MyInt = new int();

delete MyInt;
delete MyInt; // Does this line produce the same type of error?
}
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,579
Members
45,053
Latest member
BrodieSola

Latest Threads

Top