You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Kim van der Riet (JIRA)" <ji...@apache.org> on 2018/05/08 15:42:00 UTC

[jira] [Comment Edited] (QPID-8184) [linearstore] Recovery intermittently produces JERR_EFP_BADEFPDIRNAME error followed by core

    [ https://issues.apache.org/jira/browse/QPID-8184?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16466468#comment-16466468 ] 

Kim van der Riet edited comment on QPID-8184 at 5/8/18 3:41 PM:
----------------------------------------------------------------

Pavel Moravec has discovered the root cause of this issue, see [https://bugzilla.redhat.com/show_bug.cgi?id=1561819#c18]. It appears that when using ::readlink(), the string containing the link destination is copied into the supplied buffer, but without being terminated with a '\0'. In some cases, there is remaining data in the buffer which when searched from the rear of the string yields odd results.

The issue appears to be solved by simply terminating the string in the buffer with a '\0'.


was (Author: kpvdr):
Pavel Moravec has discovered the root cause of this issue, see [https://bugzilla.redhat.com/show_bug.cgi?id=1561819#c18.] It appears that when using ::readlink(), the string containing the link destination is copied into the supplied buffer, but without being terminated with a '\0'. In some cases, there is remaining data in the buffer which when searched from the rear of the string yields odd results.

The issue appears to be solved by simply terminating the string in the buffer with a '\0'.

> [linearstore] Recovery intermittently produces JERR_EFP_BADEFPDIRNAME error followed by core
> --------------------------------------------------------------------------------------------
>
>                 Key: QPID-8184
>                 URL: https://issues.apache.org/jira/browse/QPID-8184
>             Project: Qpid
>          Issue Type: Bug
>          Components: C++ Broker
>            Reporter: Kim van der Riet
>            Assignee: Kim van der Riet
>            Priority: Major
>
> Some users are experiencing difficulty recovering the store, especially when there are a large  number of queues (several thousand). The log files show the following pattern:
> {{JERR_EFP_BADEFPDIRNAME}} in which some arbitrary number which is not divisible by 4 is being used as the EFP file size (called EFP directory in the log), followed by a segfault:
> {noformat}
> May 4 18:55:00 prodrhs1l qpidd[6240]: 2018-05-04 18:55:00 [Store] warning Linear Store: EmptyFilePool create failed: jexception 0x0d03 EmptyFilePool::fileSizeKbFromDirName() threw JERR_EFP_BADEFPDIRNAME: Bad Empty File Pool directory name (must be 'NNNk', where NNN is a number which is a multiple of 4) (Partition: 1; EFP directory: '9k')
> May 4 18:55:00 prodrhs1l kernel: qpidd[6240]: segfault at 10 ip 00007f4219af8e19 sp 00007ffc227a6350 error 4 in linearstore.so[7f4219ac4000+bd000]{noformat}
>  In the event that the random number _is_ divisible by 4, a randomly sized directory containing no files may appear in the partition EFP.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@qpid.apache.org
For additional commands, e-mail: dev-help@qpid.apache.org