Skip to content

Hang in ListObjectsV2 - pthread_join() #745

Closed
@jmsundar

Description

@jmsundar

Using SDK v1.3.1 on Ubuntu 14.04 compiled using gcc 4.94.
Here's the backtrace from gdb during the hang.

Vector<S3::Model::Object> S3Manager::list_objects()
{
    //std::cout << "Objects in S3 bucket: " << m_bucket << std::endl;
    S3::Model::ListObjectsV2Request objects_request;
    objects_request.WithBucket(m_bucket);

    auto list_objects_outcome = s3_client->ListObjectsV2(objects_request); ###this is where the hang occurs.

    if (list_objects_outcome.IsSuccess())
    {
        return list_objects_outcome.GetResult().GetContents();
    }
    else
    {
        ios_log(ERROR, "listObjects error: %s %s", list_objects_outcome.GetError().GetExceptionName().c_str(), list_objects_outcome.GetError().GetMessage().c_str());
        return Vector<S3::Model::Object>();
    }
}

We are calling this code on a number of buckets in the init() of our library, and it completes successfully for the first two buckets which have local s3 endpoints.

The program this is being called from is single-threaded. Should I set the executor for s3_client to be single-threaded as well?

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedWe are asking the community to submit a PR to resolve this issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions