Ticket #452 (assigned defect)

Opened 5 years ago

Last modified 4 years ago

export_scnl doesn't exit

Reported by: tparker Owned by: et
Priority: major Milestone: Solaris
Component: export_scnl Version: 7.8
Keywords: Cc:

Description

After losing its importer's heartbeat export_scnl tried to die but doesn't. Status continues to show the module as 'Alive'.

host: Solaris 10 x86 export version: Version 1.0.1 October 23, 2012, compiled from the most recent source in SVN.

The export logs the following then nothing more. Issuing a restart gets data flowing again.

20140227_UTC_12:33:17 export_scnl(MOD_EXPORT_ATWC): lost import heartbeat 20140227_UTC_12:33:17 export_scnl(MOD_EXPORT_ATWC) restarting. This procedure may hang. Make sure restartMe is set in my .desc file 20140227_UTC_12:33:17 20140227_UTC_12:33:17 export_scnl(MOD_EXPORT_ATWC): error sending msg to socket. 20140227_UTC_12:33:17 export_scnl(MOD_EXPORT_ATWC): error sending msg to socket.

Change History

comment:1 Changed 4 years ago by et

  • Owner changed from somebody to et
  • Status changed from new to assigned
  • Version set to 7.8
  • Milestone set to Solaris

I did some investigating -- wasn't really able to reproduce the issue, but I could make somewhat similar things happen by messing with the code. The best potential theory I've come up with is that the socket-handling threads were not terminating properly (when run under Solaris). The changes I've committed should make it so the socket-handling threads exit even if the calls to 'KillSelfThread()' fail.

export: Added returns after instances of 'KillSelfThread()' (to make sure thread really terminates); added one second delay after threads killed; added 'return' statements after calls to 'exit()' and 'export_shutdown()' (to indicate program flow to compiler); updated version codes.

--ET

Note: See TracTickets for help on using tickets.