-
Notifications
You must be signed in to change notification settings - Fork 872
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Can't make under Windows #1815
Comments
Could you please define which pthread library are you using? |
Your error references this code. If pthread-win32 is used, the first #if defined(_WIN32) && defined(PTW32_VERSION)
// This is a version specific for pthread-win32 implementation
// Here pthread_t type is a structure that is not convertible
// to a number at all.
return str << pthread_getw32threadid_np(cid.value);
#else
return str << cid.value;
#endif |
I've installed pthread library through vcpkg.
Now i rebuild package:
and when I try to connect to listener in console see:
|
Interesting! Would you please collect a wireshark capture of this connection? |
I have both Windows machines. Wireshark pcap: BTW:
i.e. only with Cmake. App was build and work with VLC, but when I try to connect with Larix or srt-live-transmit (who has just assembled) caller mode with args: |
From Wireshark capture caller sends the final conclusion handshake request (ready to establish a connection), but listener never replies with conclusion response. Instead induction responce is being sent for the whole time (every 3 seconds for 80 seconds of the capture). Regarding crash, also interesting. The third problem already :) |
I can make Wireshark captures from both sides if it necessary. About crashes: binaries: |
Using the binaries you've provided I ran a test on a localhost: # SRT caller
.\srt-live-transmit.exe -v "srt://127.0.0.1:4200?pkt_size=1316&passphrase=1234567890!" "udp://127.0.0.1:4201"
# SRT Listener
./srt-live-transmit.exe -v "udp://:4202" "srt://:4200?mode=listener&passphrase=1234567890!" Connection is established. What would be the steps to reproduce the crash?
So using the same build of Could you contact me in the #development channel on Slack? |
@vilkoivshchi just in case, please retest the latest version. The fix for the socket ID check is there. |
I've build latest version (commit 1c7da11) with option -DENABLE_STDCXX_SYNC=ON and it work good. Connecting and no crashes. Thank you. |
A small update on this. I had missed it the first time, but VLC has HSv4 (some SRT version prior to v1,3.0). That might explain something...
Just as they were reported here. I can reproduce the crash using srt-live-tranmsit binaries provided earlier by @vilkoivshchi . Need SRT version (commit ID) used to build those binaries and build instructions. I assume some build instructions are shared here. |
This comment has been minimized.
This comment has been minimized.
Status update1. Crash ReportedStatus: the assumption is that the current master does not have the crash. Waiting for @vilkoivshchi to confirm. A pre-built The crash itself happens due to an infinite recursive call to this function template <class Stream>
inline Stream& operator<<(Stream& str, const CThread::id& cid)
{
#if defined(_WIN32) && defined(PTW32_VERSION)
// This is a version specific for pthread-win32 implementation
// Here pthread_t type is a structure that is not convertible
// to a number at all.
return str << pthread_getw32threadid_np(cid.value);
#else
return str << cid.value;
#endif
} However, the function used in the pre-built version seems to be modified, as the debugger complains about mismatching file 2. Build IssueReproduction steps are missing. |
Confirmed Windows build issue with latest pthreads from vcpkg:
|
Hi, can't make under Win10, Visual Studio said:
if I change
return str << cid.value;
to
return str << cid;
it works, but only if I make Debug.
If I make Release, app does not accept connection in listener mode.
The text was updated successfully, but these errors were encountered: