From f14b3d669b200d3c2a8b9a7c1b64924cf9eb76ec Mon Sep 17 00:00:00 2001 From: Anusha GodavarthySurya Date: Thu, 19 Jan 2023 06:21:20 -0800 Subject: [PATCH] SWDEV-371123 - Fix seg fault when running hashcat app Change-Id: I0c66d881b8dfae322f58a644860ecce4fb18debd [ROCm/clr commit: 89e9f9db5838b80bf7acede26c1f508c010102f7] --- projects/clr/rocclr/device/rocm/rocvirtual.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/projects/clr/rocclr/device/rocm/rocvirtual.cpp b/projects/clr/rocclr/device/rocm/rocvirtual.cpp index 4395320835..56b6022f6f 100644 --- a/projects/clr/rocclr/device/rocm/rocvirtual.cpp +++ b/projects/clr/rocclr/device/rocm/rocvirtual.cpp @@ -1055,12 +1055,13 @@ void VirtualGPU::dispatchBarrierValuePacket(uint16_t packetHeader, bool resolveD assert(resolveDepSignal & (signal.handle != 0) == 0); if (resolveDepSignal) { auto wait_signal = Barriers().WaitingSignal(); - assert(wait_signal.size() < 2 && "Only one dep signal allowed for BarrierValue"); - - barrier_value_packet_.signal = wait_signal[0]; - barrier_value_packet_.value = kInitSignalValueOne; - barrier_value_packet_.mask = std::numeric_limits::max(); - barrier_value_packet_.cond = HSA_SIGNAL_CONDITION_LT; + if (wait_signal.size() > 0) { + assert(wait_signal.size() == 1 && "Only one dep signal allowed for BarrierValue"); + barrier_value_packet_.signal = wait_signal[0]; + barrier_value_packet_.value = kInitSignalValueOne; + barrier_value_packet_.mask = std::numeric_limits::max(); + barrier_value_packet_.cond = HSA_SIGNAL_CONDITION_LT; + } } if (completionSignal.handle == 0) {