Re: Strange "hang" in pthread_cond_destroy
Re: Strange "hang" in pthread_cond_destroy
- Subject: Re: Strange "hang" in pthread_cond_destroy
- From: Terry Lambert <email@hidden>
- Date: Wed, 11 Feb 2009 08:50:35 -0800
Sample only gives statistical profiling; that is, it only gives
information about where the program counter happened to be at the time
you were looking.
As such, you're not going to get a literal call graph like you would
with, for example, a dtruss to a gdb bt.
The graph you show could just as easily be you repeatedly entering the
same code, or making a call that blocks a long time.
My guess would be a retry loop at the InitializeWithObjectID, probably
at JackRouterPlugIn, or up one level, depending on the return code and
how the code above it deals with a bad return with that code.
An east way to check this is to see if it's actually blocked by
looking at how much CPU it's using (dtruss will only give information
on it making real
System calls; dtrace in user space might give more information).
-- Terry
On Feb 11, 2009, at 7:00 AM, Stéphane Letz <email@hidden> wrote:
Hi,
We get a strange "hang" but report in our code where it seems that
"pthread_cond_destroy" is hanging:
OS Version: 10.5.6 (Build 9G55)
Model: PowerBook6,4, BootROM 4.8.3f1, 1 processor, PowerPC G4
(1.1), 1.33 GHz, 1,25
GB
Graphics: GeForce FX Go5200, GeForce FX Go5200,
spdisplays_agp_device, 64 MB
Memory Module: DIMM0/BUILT-IN, 256 MB, built-in, built-in
Memory Module: DIMM1/J31, 1 GB, DDR SDRAM, PC2700U-25330
AirPort: spairport_wireless_card_type_airport_extreme (0x14E4,
0x4E), Broadcom
BCM43xx 1.0 (4.170.25.8)
Modem: Jump, V.92, Version 1.0
Bluetooth: Version 2.1.3f8, 2 service, 0 devices, 1 incoming serial
ports
Network Service: AirPort, AirPort, en1
Parallel ATA Device: MATSHITACD-RW CW-8123
Parallel ATA Device: ST980815A, 74,53 GB
USB Device: Bluetooth USB Host Controller, (null) mA
Sampling process 115 for 3 seconds with 1 millisecond of run time
between samples
Sampling completed, processing symbols...
Analysis of sampling coreaudiod (pid 115) every 1 millisecond
Call graph:
2473 Thread_2503
2473 0xbfffff38
2473 0x24cc
2473 0xae60
2473 AudioHardwareBeMaster
2473 HALSystem::CheckOutInstance()
2473 HALSystem::InitializeDevices()
2473 HALPlugInManagement::Initialize()
2473
HALPlugInManagement::CreateHALPlugIn(HALCFPlugIn const*)
2473
__ZL40HP_HardwarePlugIn_InitializeWithObjectIDPP28AudioHardwarePlugInInterfacem
2473
JackRouterPlugIn::InitializeWithObjectID(unsigned long)
2473 JackRouterPlugIn::CheckServer(unsigned
long)
2473 jack_client_open
2473 jack_client_open_aux
2473 Jack::JackMessageBuffer::Destroy()
2473
Jack::JackMessageBuffer::~JackMessageBuffer()
2473 pthread_cond_destroy
2211 __spin_lock_relinquish
2211 __spin_lock_relinquish
262 __spin_lock
262 __spin_lock
Total number in stack (recursive counted multiple, when >=5):
Sort by top of stack, same collapsed (when >= 5):
__spin_lock_relinquish 2211
__spin_lock 262
Sample analysis of process 115 written to file /dev/stdout
We checked again that the condition variable is correctly allocated
with this kind of code:
pthread_cond_t fCond;
pthread_cond_init(&fCond, NULL);
What could be the cause of this hang?
Thanks
Stephane Letz
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Darwin-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden