On 4/10/24 18:24, Simon Horman wrote: > On Wed, Apr 10, 2024 at 02:10:20PM +0200, Ilya Maximets wrote: >> On 4/6/24 00:08, Ilya Maximets wrote: >>> Currently, calls like ovs_assert() just print out a condition that >>> caused assertion to fail. But it may be not enough to understand what >>> exactly has happened, especially if assertion failed in some generic >>> function like dp_packet_resize() or similar. >>> >>> Print the stack trace along with the abort message to give more context >>> for the later debugging. >>> >>> This should be especially useful in case the issue happens in an >>> environment with core dumps disabled. >>> >>> Adding the log to vlog_abort() to cover a little more cases where >>> VLOG_ABORT is called and not only assertion failures. >>> >>> It would be nice to also have stack traces in case of reaching the >>> OVS_NOT_REACHED(). But this macro is used in some places as a last >>> resort and should not actually do more than just stopping the process >>> immediately. And it also can be used in contexts without logging >>> initialized. Such a change will need to be done more carefully. >>> Better solution might be to use VLOG_ABORT() where appropriate instead. >>> >>> Signed-off-by: Ilya Maximets <i.maxim...@ovn.org> >>> --- >>> lib/vlog.c | 10 ++++++++-- >>> tests/library.at | 4 +++- >>> 2 files changed, 11 insertions(+), 3 deletions(-) >> >> If this change is accepted, I'd also suggest backporting it to 3.3. >> It is a debug-only change that touches only the code executed under >> fatal failure conditions, so should be safe enough. Backporting >> will allow us easier debugging in to-be-LTS release. And also OVN >> 24.03 LTS can make use of it this way as well. > > Acked-by: Simon Horman <ho...@ovn.org> >
Thanks, Simon and Kevin! Applied to main and branch-3.3. Best regards, Ilya Maximets. _______________________________________________ dev mailing list d...@openvswitch.org https://mail.openvswitch.org/mailman/listinfo/ovs-dev