Error ERESTARTNOINTR (513) returned from fork() system call

Solution Verified - Updated -

Environment

  • Red Hat Enterprise Linux 5
  • Red Hat Enterprise Linux 6
  • strace system call tracer

Issue

  • ERESTARTNOINTR (error code 513) returned from fork() system call as seen by strace

  • This is most often seen in Informatica 9.6, where a workflow returns the error:

    Error: Integration Service failed to spawn child process with errno [513]
    

Resolution

  • For Red Hat Enterprise Linux 5.3z EUS, upgrade to kernel 2.6.18-128.41.1.el5 (or later)
  • For Red Hat Enterprise Linux 5.6z EUS, upgrade to kernel 2.6.18-238.45.1.el5 (or later)
  • For Red Hat Enterprise Linux 5.8z EUS, upgrade to kernel 2.6.18-308.16.1.el5 (or later)
  • This issue is resolved in Red Hat Enterprise Linux 5.9 with kernel kernel-2.6.18-348.el5
  • This issue is being address in Red Hat Enterprise Linux 6 under Red Hat Private Bug 990783. If you wish to enquire as to the status of this bug, please contact Red Hat Global Support Services.

Root Cause

  • Prior to this update, the ERESTARTNOINTR error code could be returned if a subsystem cleared the TIF_SIGPENDING flag during error handling in fork() path. The code has been change to ensure the TIF_SIGPENDING flag is always set if the ERESTARTNOINTR error is to be returned.
  • This issue was tracked as Red Hat Private Bug 693822.

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.

Comments