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

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions