Actually it's a little bit more complicated than just curl. When BOTH ffmpeg and curl flags are on, it segfaults, when you disable either one of those flags, segfault are gone.
Wow. This is uncanny. This issue been bothering me for the past two month ago, and just when I got around to debug and solve it, a PR updating some OpenSSL stuff gets merged into NixOS a day ago and now everything works as it should. I'm not sure how OpenSSL interacts with moc (maybe through curl?) but it seems like this is definitely not a moc issue ))
Sorry to disturb you for nothing, glad that the issue resolved itself ))
This issue been bothering me for the past two month ago, ...
I'm just glad I didn't get too far into chasing this as a MOC bug.
I'm not sure how OpenSSL interacts with moc (maybe through curl?)...
MOC does not currently use cURL's SSL support and neither does it make explicit use of it in OpenSSL, but maybe these libraries are initialising it when they are themselves intialised. You say that having both cURL and FFmpeg configured are a prerequiste to trigger this segfault, so maybe OpenSSL being intialised or finalised from both cURL and FFmpeg was causing the dereferencing of already free()ed memory with OpenSSL during termination.
Possibly cURL and FFmpeg libraries were previously linked against different OpenSSL library versions and that was causing a conflict.
Sorry to disturb you for nothing, glad that the issue resolved itself
I don't mind being disturbed by someone who is willing to participate in the debugging of their problem. What I [bold]do[/bold] mind is when people initiate debugging then go silent leaving the problem unresolved and the debugging effort wasted.
So in recognition of your having updated me as to the resolution of this problem, I grant you licence to use MOC free of charge forever.
eugenez
Sat, 2019-08-24 09:27
Permalink
Actually it's a little bit
Actually it's a little bit more complicated than just curl. When BOTH ffmpeg and curl flags are on, it segfaults, when you disable either one of those flags, segfault are gone.
Debug info:
jcf
Sat, 2019-08-24 10:07
Permalink
For Starters...
Could you provide me with the specific releases of cURL and FFmpeg which you are using, and the specific flags involved, please.
Feel free to do so by e-mail to mocmaint as it usually expedites matters.
eugenez
Sat, 2019-08-24 11:25
Permalink
Wow. This is uncanny. This
Wow. This is uncanny. This issue been bothering me for the past two month ago, and just when I got around to debug and solve it, a PR updating some OpenSSL stuff gets merged into NixOS a day ago and now everything works as it should. I'm not sure how OpenSSL interacts with moc (maybe through curl?) but it seems like this is definitely not a moc issue ))
Sorry to disturb you for nothing, glad that the issue resolved itself ))
Thank you very much for making moc!
jcf
Sat, 2019-08-24 20:17
Permalink
It's All In The Timing
That was an easy fix... for me anyway.
I'm just glad I didn't get too far into chasing this as a MOC bug.
MOC does not currently use cURL's SSL support and neither does it make explicit use of it in OpenSSL, but maybe these libraries are initialising it when they are themselves intialised. You say that having both cURL and FFmpeg configured are a prerequiste to trigger this segfault, so maybe OpenSSL being intialised or finalised from both cURL and FFmpeg was causing the dereferencing of already free()ed memory with OpenSSL during termination.
Possibly cURL and FFmpeg libraries were previously linked against different OpenSSL library versions and that was causing a conflict.
I don't mind being disturbed by someone who is willing to participate in the debugging of their problem. What I [bold]do[/bold] mind is when people initiate debugging then go silent leaving the problem unresolved and the debugging effort wasted.
So in recognition of your having updated me as to the resolution of this problem, I grant you licence to use MOC free of charge forever.