Bug 826100
| Summary: | [glusterfs-3.3.0-qa43]: glusterfs server asserted while unrefing (destroying) the connection object | ||
|---|---|---|---|
| Product: | [Community] GlusterFS | Reporter: | Raghavendra Bhat <rabhat> |
| Component: | protocol | Assignee: | bugs <bugs> |
| Status: | CLOSED EOL | QA Contact: | |
| Severity: | low | Docs Contact: | |
| Priority: | low | ||
| Version: | pre-release | CC: | bugs, gluster-bugs, rwheeler |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-10-22 15:40:20 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Raghavendra Bhat
2012-05-29 15:28:02 UTC
Need to check for 'lock-self-heal' flag before doing the GF_ASSERT on the list.
connection ref count represents the number of requests in transit. If the reply is sent it should be decremented. The code hit the assert because the reply submission failure is not handled when lk_heal is on. That should be fixed so that the assert wont be hit.
gf_log_callingfn ("", GF_LOG_ERROR, "Reply submission failed");
177 if (frame && conn && !lk_heal) {
178 server_connection_cleanup (frame->this, conn,
179 INTERNAL_LOCKS | POSIX_LOCKS);
(gdb)
180 } else {
181 /* TODO: Failure of open(dir), create, inodelk, entrylk
182 or lk fops send failure must be handled specially. */
git blame on xlators/protocol/server/src/server.c shows Junaid added the TODO:, reassigning it to him.
-------
fdd20492 (Amar Tumballi 2010-06-21 07:00:04 +0000 175) if (ret == -1) {
0349ec85 (Amar Tumballi 2011-03-16 09:43:27 +0000 176) gf_log_callingfn ("", GF_LOG_ERROR, "Reply submission failed");
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 177) if (frame && conn && !lk_heal) {
9fd44bd9 (Pranith Kumar K 2012-03-18 13:07:30 +0530 178) server_connection_cleanup (frame->this, conn,
9fd44bd9 (Pranith Kumar K 2012-03-18 13:07:30 +0530 179) INTERNAL_LOCKS | POSIX_LOCKS);
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 180) } else {
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 181) /* TODO: Failure of open(dir), create, inodelk, entrylk
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 182) or lk fops send failure must be handled specially. */
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 183) ;
83277598 (Mohammed Junaid 2012-03-19 19:56:21 +0530 184) }
fdd20492 (Amar Tumballi 2010-06-21 07:00:04 +0000 185) goto ret;
fdd20492 (Amar Tumballi 2010-06-21 07:00:04 +0000 186) }
--------
Not seen the error in last few releases. marking lesser priority for now. pre-release version is ambiguous and about to be removed as a choice. If you believe this is still a bug, please change the status back to NEW and choose the appropriate, applicable version for it. |