2010-11-10 04:21:57     application hangs in pthread_create function

2010-11-10 04:21:57     application hangs in pthread_create function

Emil Bart (POLAND)

Message: 95739   

Hello,

During testing my application I encountered the problem that sometimes it hangs in pthread_create function. I don't know exactly how to reproduce the problem because it is a random behaviour. This is quite big application and it creates and terminates the threads. Once I was able to trigger the problem using gdbserver. The backtrace is as follows:

#2 pthread_create ()

#1 __pthread_wait_for_restart_signal ()

#0 __rt_sigsuspend

When it happens then every calling of pthread_create function in another thread also hangs up. Maybe someone had similar problem and can share with the solution.

Maybe this is a useful info but for every thread I change the stack size using function pthread_attr_set_stack_size ().

Thanks for any advice.

Emil.

QuoteReplyEditDelete

2010-11-10 04:34:44     Re: application hangs in pthread_create function

Mike Frysinger (UNITED STATES)

Message: 95740   

usually the first thing is to make sure you arent smashing the stack:

  docs.blackfin.uclinux.org/doku.php?id=uclinux-dist:debugging_applications#multi-threaded_applications

QuoteReplyEditDelete

2010-11-10 04:39:12     Re: application hangs in pthread_create function

Emil Bart (POLAND)

Message: 95741   

Some more info:

- I always test the problem using the gdb. I will check if I the problem appears without gdbserver.

- compiler version : bfin-uclinux-g++ (GCC) 4.1.1 (ADI 06R2),

- uclinux distro: uClinux-dist_06r2-5. I know that it is very old version and many things was fixed but my employeer always tells me that we don;t have time for upgdare.

QuoteReplyEditDelete

2010-11-10 05:16:04     Re: application hangs in pthread_create function

Emil Bart (POLAND)

Message: 95745   

Hello Mike,

Writing smashing you mean stack overflowing ? If yes I'm almost sure that I don;t overflow the stack. The strange is that the application works some hours, terminates and creates threads without any problem and then suddently it hungs (doesn;t return any code) in the pthread_create function. When I test my application on the PC using valgrind or gdb I don;t have any problem and I do the same tests (automated tests).

QuoteReplyEditDelete

2010-11-10 09:26:57     Re: application hangs in pthread_create function

Emil Bart (POLAND)

Message: 95752   

The new problem appeared. I think that the root cause it the same. Now application hungs in malloc function. It is the same situation. The application works at least one hour and during that time allocates and deletes the memory and suddently calling of malloc hungs (no code is returned). The backtrace is :

#4 malloc ()

#3 __libc_system ()

#2 pthread_mutex_lock ()

#1 pthread_acquire ()

#0 sched_yield

I have never seen that kind of problems maybe somebody can help me.

QuoteReplyEditDelete

2010-11-10 09:28:09     Re: application hangs in pthread_create function

Emil Bart (POLAND)

Message: 95753   

Application is run under gdb.

QuoteReplyEditDelete

2010-11-10 16:16:04     Re: application hangs in pthread_create function

Mike Frysinger (UNITED STATES)

Message: 95759   

we've fixed many pthread/malloc bugs since 2006R1.  i vaguelly recall a pthread malloc locking bug being one of them.

  • Created
Was this helpful?

Before You Switch


Switching languages will make ADI Explorer unavailable. Resume your session by switching back to English and reopening ADI Explorer.