Skip to content

qat engine coredump in ASYNC_get_wait_ctx() #349

@wanlebing

Description

@wanlebing

HI all:

I met a coredump with the backtrace below. The application calls ASYNC_start_job, and the crash occurs when RSA_private_encrypt returns 0.

#0  0x000000000096ff30 in ASYNC_get_wait_ctx ()
#1  0x00007f57352194a4 in qat_wake_job (job=<optimized out>, jobStatus=2) at qat_events.c:306
#2  0x00007f5734e33138 in LacPke_MsgCallback () from //opt/QAT/build/libqat_s.so
#3  0x00007f5734e58d13 in adf_user_notify_msgs_poll () from //opt/QAT/build/libqat_s.so
#4  0x00007f5734e5216c in adf_pollRing () from //opt/QAT/build/libqat_s.so
#5  0x00007f5734e525da in icp_adf_pollInstance () from //opt/QAT/build/libqat_s.so
#6  0x00007f5734e4cc2d in icp_sal_CyPollInstance () from //opt/QAT/build/libqat_s.so
#7  0x00007f573521c9a4 in qat_timer_poll_func (ih=<optimized out>) at qat_hw_polling.c:200
#8  0x00007f5739c081ca in start_thread () from /lib64/libpthread.so.0
#9  0x00007f57372398d3 in clone () from /lib64/libc.so.6

It appears the root cause is that ASYNC_start_job did not effectively start a valid ASYNC job at the application layer, but the underlying layer still generated a QAT asynchronous task. Consequently, qat_wake_job retrieved an invalid ASYNC job, leading to the core dump.

I wonder if this is a known issue, any help would be appreciated, thanks.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions