Bug sizeof(pj_fd_set_t)-sizeof(pj_sock_t) >= sizeof(fd_set)

SD
Sileno de Oliveira Brito
Wed, Apr 17, 2019 11:16 PM

I using the PJSIP With MinGW (MSYS2)
-- The C compiler identification is GNU 7.3.0
-- The CXX compiler identification is GNU 7.3.0

I using the last version from trunk svn and try configure with
./configure --disable-video --disable-speex-aec --disable-l16-codec
--disable-speex-codec --disable-sdl --disable-openh264 --disable-v4l2
--disable-opus --disable-opencore-amr --disable-ssl  --disable-libyuv
--disable-libwebrtc --disable-bcg729 --disable-sound --disable-resample
--disable-shared

I try change the value from PJ_IOQUEUE_MAX_HANDLES AND __FD_SETSIZE  but i
receive the same error.

Below is my config_site.h

// Uncomment to get minimum footprint (suitable for 1-2 concurrent calls
only)
#define PJ_CONFIG_MINIMAL_SIZE

#undef PJ_OS_HAS_CHECK_STACK

/* Putting max handles to lower than 32 will make pj_fd_set_t size smaller

  • than native fdset_t and will trigger assertion on sock_select.c.
    */

#define PJ_FD_SETSIZE_SETABLE  1
#undef PJ_IOQUEUE_MAX_HANDLES
#define PJ_IOQUEUE_MAX_HANDLES 32
#define __FD_SETSIZE            32

#define PJ_CRC32_HAS_TABLES 0
#define PJSIP_MAX_TSX_COUNT 15
#define PJSIP_MAX_DIALOG_COUNT 15
#define PJSIP_UDP_SO_SNDBUF_SIZE 4000
#define PJSIP_UDP_SO_RCVBUF_SIZE 4000
#define PJMEDIA_HAS_ALAW_ULAW_TABLE 0
#define PJ_OS_HAS_CHECK_STACK 0
#define PJ_LOG_MAX_LEVEL 0
#define PJ_ENABLE_EXTRA_CHECK 0
#define PJ_HAS_ERROR_STRING 0

// Uncomment to get maximum performance
//#define PJ_CONFIG_MAXIMUM_SPEED

// #define FD_SETSIZE_SETABLE                  1
#define PJMEDIA_HAS_ILBC_CODEC              1
#define PJMEDIA_HAS_GSM_CODEC              1
#define PJMEDIA_HAS_G711_CODEC              1
#define PJMEDIA_HAS_GSM_CODEC              1
#define PJMEDIA_HAS_INTEL_IPP              0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G729    0
#define PJMEDIA_HAS_VIDEO                  0
#define PJMEDIA_HAS_SRTP                    0
#define PJMEDIA_HAS_G722_CODEC              0
#define PJMEDIA_HAS_SPEEX_CODEC            0
#define PJMEDIA_HAS_OPUS_CODEC              0
#define PJMEDIA_HAS_L16_CODEC              0
#define PJMEDIA_HAS_G722_CODEC              0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR    0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB  0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1  0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G726    0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G728    0
#define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1  0
#define PJSIP_REGISTER_CLIENT_CHECK_CONTACT 0

I using the PJSIP With MinGW (MSYS2) -- The C compiler identification is GNU 7.3.0 -- The CXX compiler identification is GNU 7.3.0 I using the last version from trunk svn and try configure with ./configure --disable-video --disable-speex-aec --disable-l16-codec --disable-speex-codec --disable-sdl --disable-openh264 --disable-v4l2 --disable-opus --disable-opencore-amr --disable-ssl --disable-libyuv --disable-libwebrtc --disable-bcg729 --disable-sound --disable-resample --disable-shared I try change the value from PJ_IOQUEUE_MAX_HANDLES AND __FD_SETSIZE but i receive the same error. Below is my config_site.h ----------------------------------------------------------------------------------------------------------- // Uncomment to get minimum footprint (suitable for 1-2 concurrent calls only) #define PJ_CONFIG_MINIMAL_SIZE #undef PJ_OS_HAS_CHECK_STACK /* Putting max handles to lower than 32 will make pj_fd_set_t size smaller * than native fdset_t and will trigger assertion on sock_select.c. */ #define PJ_FD_SETSIZE_SETABLE 1 #undef PJ_IOQUEUE_MAX_HANDLES #define PJ_IOQUEUE_MAX_HANDLES 32 #define __FD_SETSIZE 32 #define PJ_CRC32_HAS_TABLES 0 #define PJSIP_MAX_TSX_COUNT 15 #define PJSIP_MAX_DIALOG_COUNT 15 #define PJSIP_UDP_SO_SNDBUF_SIZE 4000 #define PJSIP_UDP_SO_RCVBUF_SIZE 4000 #define PJMEDIA_HAS_ALAW_ULAW_TABLE 0 #define PJ_OS_HAS_CHECK_STACK 0 #define PJ_LOG_MAX_LEVEL 0 #define PJ_ENABLE_EXTRA_CHECK 0 #define PJ_HAS_ERROR_STRING 0 // Uncomment to get maximum performance //#define PJ_CONFIG_MAXIMUM_SPEED // #define FD_SETSIZE_SETABLE 1 #define PJMEDIA_HAS_ILBC_CODEC 1 #define PJMEDIA_HAS_GSM_CODEC 1 #define PJMEDIA_HAS_G711_CODEC 1 #define PJMEDIA_HAS_GSM_CODEC 1 #define PJMEDIA_HAS_INTEL_IPP 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_G729 0 #define PJMEDIA_HAS_VIDEO 0 #define PJMEDIA_HAS_SRTP 0 #define PJMEDIA_HAS_G722_CODEC 0 #define PJMEDIA_HAS_SPEEX_CODEC 0 #define PJMEDIA_HAS_OPUS_CODEC 0 #define PJMEDIA_HAS_L16_CODEC 0 #define PJMEDIA_HAS_G722_CODEC 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_AMR 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_AMRWB 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_G723_1 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_G726 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_G728 0 #define PJMEDIA_HAS_INTEL_IPP_CODEC_G722_1 0 #define PJSIP_REGISTER_CLIENT_CHECK_CONTACT 0