AllenOnline.mep_real_data failing due to division by zero in seeding
Running with x86_64_v2-el9-gcc12-dbg+alubsan
uncovers a division by zero in the seeding. The problem is reproduced in the mep_real_data test in the ub sanitizer build.
../device/SciFi/hybridseeding/src/seed_xz.cu:159:68: runtime error: division by zero
#0 0x7f94313be658 in makeTriplets<false> ../device/SciFi/hybridseeding/src/seed_xz.cu:159
#1 0x7f94313c20af in operator() ../device/SciFi/hybridseeding/src/seed_xz.cu:313
#2 0x7f94313c3529 in shared_or_global<float, seed_xz::seed_xz(Parameters)::<lambda(float*)> > ../device/utils/memory/include/memory_optim.cuh:22
#3 0x7f94313c3a01 in seed_xz::seed_xz(seed_xz::Parameters) ../device/SciFi/hybridseeding/src/seed_xz.cu:278
#4 0x7f94313cb877 in void invoke_device_function<void (&)(seed_xz::Parameters), std::tuple<seed_xz::Parameters>, 0ul>(void (&)(seed_xz::Parameters), dim3 const&, dim3 const&, Allen::Context const&, unsigned int, std::tuple<seed_xz::Parameters> const&, std::integer_sequence<unsigned long, 0ul>) ../stream/gear/include/Invoke.cuh:49
#5 0x7f94313d169d in void GlobalFunctionImpl<void (seed_xz::Parameters)>::operator()<Allen::Store::StoreRef<std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, seed_xz::Parameters, std::tuple<> > const&>(Allen::Store::StoreRef<std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, seed_xz::Parameters, std::tuple<> > const&) const ../stream/gear/include/TargetFunction.cuh:60
#6 0x7f94313c4a25 in seed_xz::seed_xz_t::operator()(Allen::Store::StoreRef<std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, std::tuple<seed_xz::Parameters::host_number_of_events_t, seed_xz::Parameters::host_scifi_hit_count_t, seed_xz::Parameters::host_seeding_number_of_tracksXZ_t, seed_xz::Parameters::host_seeding_tracksXZ_t, seed_xz::Parameters::dev_event_list_t, seed_xz::Parameters::dev_scifi_hits_t, seed_xz::Parameters::dev_scifi_hit_count_t, seed_xz::Parameters::dev_number_of_events_t, seed_xz::Parameters::dev_hits_working_mem_t, seed_xz::Parameters::dev_count_hits_working_mem_t, seed_xz::Parameters::dev_triplets_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part0_t, seed_xz::Parameters::dev_seeding_number_of_tracksXZ_part1_t, seed_xz::Parameters::dev_seeding_tracksXZ_t>, seed_xz::Parameters, std::tuple<> > const&, RuntimeOptions const&, Constants const&, Allen::Context const&) const ../device/SciFi/hybridseeding/src/seed_xz.cu:229
Edited by Rosen Matev