Re: Thread hang problem on 2.2.4

Janos Farkas (chexum@shadow.banki.hu)
Tue, 6 Apr 1999 07:44:11 +0200


Hi!

On 1999-04-05 at 17:02:01, Chris R. Jones wrote:
> I've been working on a linux program which uses threads very heavily,
> and I believe I've encountered a bug with either the linux kernel or
> glibc & linux-threads.

Aha!

The problem you described sounds very-very similar to one I'm having;
but in my case, it's happening with a binary-only application, so I
could not proceed to debug by narrowing down to simpler test cases :)

My findings are detailed in a post with the subject "of staroffice 5.0,
linux 2.2 and select()",
[Message-ID: <priv$8dd116564$26f4d@lk9qw.mail.eon.ml.org>]
but the very short version that it seems to be caused by 2.2-pre8
(2.2-pre7 worked fine), and in that particular version, reverting the
select.c/poll.h changes to the pre7 version are sufficient to get rid of
the problem. Can you confirm it's the same problem? (I.e. by trying at
least 2.2-pre7 and 2.2-pre8?)

However, I'm more and more beginning to see that the select/poll changes
are not the "real" culprit, but funnily they are enough to invoke the
problem. I'll continue to look at the rest of the code

> Basically, the problem is this: In a single process, I create three
> threads: one which serves as a listener for TCP/IP connections,
> the next which serves as the 'server' end of a TCP/IP socket which is created
> by the listener thread, and finally a socket for the 'client' end of
> the TCP/IP socket which connects to the 'server' end of the TCP/IP socket
> through a connect() call (which is serviced by the listner thread).

Footnote: possibly this is what staroffice is doing also...

Janos

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/