Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Classic server (all processes) hangs after death of one process [CORE4919] #5211

Closed
firebird-automations opened this issue Aug 31, 2015 · 8 comments

Comments

@firebird-automations
Copy link
Collaborator

Submitted by: @AlexPeshkoff

After death of one process remaining processes hang in lock manager waiting for some lock to be released by that process, dead process scan does not happen.

Commits: 74eeb4b 2abcfc9 FirebirdSQL/fbt-repository@f83b7fa FirebirdSQL/fbt-repository@9ce084f

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

assignee: Alexander Peshkov [ alexpeshkoff ]

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

ETIME (instead ETIMEDOUT, as specified by posix) was returned by some OSes in previous century. No sense trying to support that now.

@firebird-automations
Copy link
Collaborator Author

Modified by: @AlexPeshkoff

status: Open [ 1 ] => Resolved [ 5 ]

resolution: Fixed [ 1 ]

Fix Version: 3.0 RC 1 [ 10584 ]

Fix Version: 2.5.5 [ 10670 ]

@firebird-automations
Copy link
Collaborator Author

Commented by: Sean Leyne (seanleyne)

Alex,

Could you please provide some context, what OS/Platforms did this affect?

(Your report mentions AIX, but wondering about others)

@firebird-automations
Copy link
Collaborator Author

Commented by: @paulbeach

Sean,

Just AIX and Solaris

@firebird-automations
Copy link
Collaborator Author

Commented by: @AlexPeshkoff

Sean,
that's all posix platforms, except mentioned in original "exclusion" list, i.e. except linux, macos, hpux and freebsd.
The only known to me platform that sooner of all will not work is MVS (a few years ago information), where pthread_* calls return -1 and set errno instead returning error code. And error code needed in our case is (was a few years ago, to be precise) EAGAIN.

@firebird-automations
Copy link
Collaborator Author

Modified by: @pcisar

status: Resolved [ 5 ] => Closed [ 6 ]

@firebird-automations
Copy link
Collaborator Author

Modified by: @pavel-zotov

status: Closed [ 6 ] => Closed [ 6 ]

QA Status: No test => Cannot be tested

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment