Crash connecting to udp endpoints that don't exist
Hello! This throws a fatal abort exception that i can't catch in managed code. Any workarounds? Doesn't fail hard in ffplay or ffmpeg.exe
Wasn't happening on ffmpeg 6
public static bool TestUDP()
{
ffmpeg.RootPath = @"D:\Projects\UDPTest\ffmpeg";
ffmpeg.av_log_set_level(ffmpeg.AV_LOG_VERBOSE);
int timeoutSeconds = 5;
string url = "udp://127.0.0.1:56000";
ffmpeg.avformat_network_init();
AVFormatContext* formatContext = null;
AVDictionary* options = null;
bool success = false;
try
{
int timeoutMicroseconds = timeoutSeconds * 1000000;
int result = ffmpeg.avformat_open_input(&formatContext, url, null, &options); //<-- fatal crash
success = (result >= 0);
return success;
}
catch (Exception ex)
{
Console.WriteLine($"Exception: {ex.Message}");
return false;
}
finally
{
if (formatContext != null)
{
ffmpeg.avformat_close_input(&formatContext);
}
}
}
it might be related to https://github.com/BtbN/FFmpeg-Builds/issues/412
- i see ff_thread_setname has been added to libavformat/udp.c
edit 2 - doesn't seem to happen on release build so not critical
Did you figure out how to prevent the program from crashing when running it in debug mode?
@ulig123 no
most probably managed/unmanaged threads, they can crash in debug but also in release but less often
Related ticket