Bug 123648 - strace/application sees ERESTARTNOHAND in select()
Summary: strace/application sees ERESTARTNOHAND in select()
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 3
Classification: Red Hat
Component: kernel
Version: 3.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Roland McGrath
QA Contact: Brian Brock
URL: http://www.kerio.com/kms_download.html
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2004-05-19 20:03 UTC by Maxwell Kanat-Alexander
Modified: 2010-09-07 14:12 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2007-10-19 19:26:14 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)
Sample IMAP thread strace (50.03 KB, text/plain)
2004-05-19 20:10 UTC, Maxwell Kanat-Alexander
no flags Details

Description Maxwell Kanat-Alexander 2004-05-19 20:03:55 UTC
We make Kerio MailServer, a somewhat popular commercial Linux mail
server. I have a customer who was crashing with no core dump. So, I
ran our product through strace.

The "error log" of our product, when run through strace, started
filling up with this: 

services.cpp: Select failed in services acceptor loop: (514) Unknown
error 514

When I look at the strace, I see that a call to socket() is receiving
ERESTARTNOHAND. From Googling, my understanding is that userspace
(even libc) should never see this signal. I will attach the relevant
strace.

I don't see this problem when I'm not running it through strace.

Versions:
uname -a: Linux ashe.fitnessquest.com 2.4.21-9.0.3.ELsmp #1 SMP Tue
Apr 20 19:49:13 EDT 2004 i686 i686 i386 GNU/Linux

strace-4.5.1-1.EL.1
glibc-2.3.2-95.6

Steps to Reproduce:
1. Install Kerio MailServer 5.7.9
2. Run it through strace with strace -ff -t
3. After about a day, the strace will be full of:

08:04:36 select(45, [44], NULL, NULL, {1, 0}) = 0 (Timeout)
08:04:37 select(45, [44], NULL, NULL, {1, 0}) = ? ERESTARTNOHAND (To
be restarted)
08:04:37 --- SIGSTOP (Stopped (signal)) @ 0 (0) ---
08:04:37 select(45, [44], NULL, NULL, {0, 100000}) = 0 (Timeout)
08:04:38 select(45, [44], NULL, NULL, {1, 0}) = ? ERESTARTNOHAND (To
be restarted)
08:04:38 --- SIGSTOP (Stopped (signal)) @ 0 (0) ---

Comment 1 Maxwell Kanat-Alexander 2004-05-19 20:06:24 UTC
Whoops, I meant "a call to select()".

Comment 2 Maxwell Kanat-Alexander 2004-05-19 20:10:56 UTC
Created attachment 100356 [details]
Sample IMAP thread strace

You can see the problem toward the end of this thread.

For reference, this is an IMAP server thread, communicating with an IMAP
client.

Comment 3 Maxwell Kanat-Alexander 2004-05-19 23:43:22 UTC
Note the "Unknown Error 514" -- the application (Kerio MailServer)
also sees the ERESTARTNOHAND (which has a value of 514 in the kernel
sources).

Comment 9 RHEL Program Management 2007-10-19 19:26:14 UTC
This bug is filed against RHEL 3, which is in maintenance phase.
During the maintenance phase, only security errata and select mission
critical bug fixes will be released for enterprise products. Since
this bug does not meet that criteria, it is now being closed.
 
For more information of the RHEL errata support policy, please visit:
http://www.redhat.com/security/updates/errata/
 
If you feel this bug is indeed mission critical, please contact your
support representative. You may be asked to provide detailed
information on how this bug is affecting you.


Note You need to log in before you can comment on or make changes to this bug.