Bug Report no. 38

attlogo6876_dk.gif (2280 bytes)

sideHome.gif (2321 bytes) sideDownload.gif (2450 bytes) sideDocumentation.gif (2512 bytes) sideFAQ.gif (2344 bytes) sidePatch.gif (2543 bytes) sideSearch.gif (2403 bytes)

Reported By

Bjorn Wennberg

Date

18 Nov 1998

Platforms

x86 linux

Version

omniORB 2.6.1 or earlier

Description

With the appropriate patches to gdb and glibc, it should be possible to debug a multithreaded program on x86 linux. For example, one should be able to debug an omniORB2 program using gdb that comes with x86 Redhat 5.2. However, when the debugger is used to debug an omniORB2 program, for example eg3_impl, the omniORB2 program throws an exception from within the omnithread library.

The reason why this is happening is because the pthread library in glibc-2.0.x returns with errno=EINTR in pthread_cond_timedwait(). This is an unexpected behaviour and does not conform to the POSIX specification. The patch below is a workaround to cope with this behaviour. With the patch applied, it is now possible, for the first time, to debug omniORB2 programs on linux!

Patch

Apply this patch. The patch changes src/lib/omnithread/posix.cc.

Action

 

 

For comments, feedback, etc, please see the 'Keeping in touch' page.
Copyright 1999 - AT&T Laboratories Cambridge