Menu

#227 All items report 'Check Failed' with version 22.06

Invalid
closed
None
5
2022-07-10
2022-06-18
No

I've been using 22.04, because 22.05 had bugs (reported) that prevented it from working.

I was excited to see 22.06 was just released, but for me, it issues 'Check Failed' errors for all items. I tested it on hundreds of different sites that use many different hosting providers.

Historically, I've only had a problem with WCM on a single site (reported), and it has worked well for all other sites.

Given that you exposed curl settings in 22.06, I tried using the default WCM curl settings as well as curl's own default settings. Neither settings profiles got anything working. I also tried some of my custom curl settings, and those made no difference for this error.

I enabled the curl logger within WCM, but the log is always empty.

I performed all testing on Win7 x64 with the corresponding WCM 22.06 x64.

Discussion

  • Morten MacFly

    Morten MacFly - 2022-06-21

    I am afraid this is finally an incompatibility with libcurl and Windows 7.

    You could do me a favour download the latest version of he command line tool "curl" from here: https://curl.se/windows/

    If you run curl.exe like this:
    curl --libcurl client.c https://example.com
    ...then it will write a C-file (client.c). Please post this here. Before, exchange example.com with a page that works using the command line tool but does not work sing WCM.

     
  • Morten MacFly

    Morten MacFly - 2022-06-21
    • status: open --> pending
    • Group: Future_Release --> Invalid
    • Priority (9=hightest): 9 --> 7
     
  • Morten MacFly

    Morten MacFly - 2022-06-21

    Please note that on Windows 10 everything works normal. In case libcurl is now incompatible with Windows 7, then there is nothing I can and will do about. Security will remain more important than compatibility with out-of-support Windows versions. But first, lets try if we find a way... :-)

     
  • Morten MacFly

    Morten MacFly - 2022-06-21
    • Priority (9=hightest): 7 --> 5
     
  • Gitoffthelawn

    Gitoffthelawn - 2022-06-23

    cURL works well with Windows 7. Per your request, here is a client.c file for a URL that works in cURL, but not in WCM (actually, all URLs I tested work in cURL, but not in WCM). The client.c file is small enough that I can inline it here so you and others will not need to download an attachment:

    /********* Sample code generated by the curl command line tool **********
    
     * All curl_easy_setopt() options are documented at:
     * https://curl.se/libcurl/c/curl_easy_setopt.html
     ************************************************************************/
    #include <curl/curl.h>
    
    int main(int argc, char *argv[])
    {
      CURLcode ret;
      CURL *hnd;
    
      hnd = curl_easy_init();
      curl_easy_setopt(hnd, CURLOPT_BUFFERSIZE, 102400L);
      curl_easy_setopt(hnd, CURLOPT_URL, "https://sourceforge.net/projects/webchangemon/files/Windows/");
      curl_easy_setopt(hnd, CURLOPT_NOPROGRESS, 1L);
      curl_easy_setopt(hnd, CURLOPT_USERAGENT, "curl/7.83.1");
      curl_easy_setopt(hnd, CURLOPT_MAXREDIRS, 50L);
      curl_easy_setopt(hnd, CURLOPT_HTTP_VERSION, (long)CURL_HTTP_VERSION_2TLS);
      curl_easy_setopt(hnd, CURLOPT_CAINFO, "[redacted]");
      curl_easy_setopt(hnd, CURLOPT_FTP_SKIP_PASV_IP, 1L);
      curl_easy_setopt(hnd, CURLOPT_TCP_KEEPALIVE, 1L);
    
      /* Here is a list of options the curl code used that cannot get generated
         as source easily. You may choose to either not use them or implement
         them yourself.
    
      CURLOPT_WRITEDATA set to a objectpointer
      CURLOPT_INTERLEAVEDATA set to a objectpointer
      CURLOPT_WRITEFUNCTION set to a functionpointer
      CURLOPT_READDATA set to a objectpointer
      CURLOPT_READFUNCTION set to a functionpointer
      CURLOPT_SEEKDATA set to a objectpointer
      CURLOPT_SEEKFUNCTION set to a functionpointer
      CURLOPT_ERRORBUFFER set to a objectpointer
      CURLOPT_STDERR set to a objectpointer
      CURLOPT_HEADERFUNCTION set to a functionpointer
      CURLOPT_HEADERDATA set to a objectpointer
    
      */
    
      ret = curl_easy_perform(hnd);
    
      curl_easy_cleanup(hnd);
      hnd = NULL;
    
      return (int)ret;
    }
    /**** End of sample code ****/
    
     
  • Morten MacFly

    Morten MacFly - 2022-07-09

    So, here are some news:

    With the new release, I've made debugging CURL easier:
    1.) If a check fails, in the log should be a more descriptive error (from CURL itself)
    2.) all CURL options that you can see in the generated code above you can setup within WCM, too.
    3.) In the CURL setup, you can enable the "debug CURL" option to get even more feedback on whats happening in the background
    4.) CURL itself has been updated too.

    Please use a single item that fails and enable exactly the options from the generated code above and also enable debugging CURL. Then please post the result of the default and CURL log here, if the connection still fails.

    In that case, please also post the output of "Log Sate" in the logger (the button on the upper right of the logger dialog) here, too.

    Thank you!

     
    ❤️
    1
    • Gitoffthelawn

      Gitoffthelawn - 2022-07-09

      Thank you very much for v22.07 (and for releasing it so early in the month!).

      It works great for me. So far, all connections are flawless.

      I didn't have to change any settings to get this positive result.

      As an added bonus, it feels about 10%-15% faster than v22.04.

       
  • circcc

    circcc - 2022-07-09

    Thank you.
    "WebChangeMonitor_22_07-32bit-Win7.zip" works now.
    I didn't change any cURL options and it works fine.

     
  • Morten MacFly

    Morten MacFly - 2022-07-10
    • status: pending --> closed
     
  • Morten MacFly

    Morten MacFly - 2022-07-10

    OK, thanks guys, I'll close this ticket now. At last, it was obviously not an issue with WCM but CURL which seems to be fixed somehow.

     

Log in to post a comment.

MongoDB Logo MongoDB