Okay
  Public Ticket #3199581
Error on report page
Closed

Comments

  •  2
    Luca started the conversation

    Hello,
    Starting from 2023, in all my tables I noticed an "HTTP/2 stream 0 was not closed cleanly" error.
    All my tables are created starting from JSON source that I provide to the plugin with an Ajax action and they are shown with the shortcode. 
    I can notice the same error in all my websites where I'd installed WpDataTables. WordPress is up to date (6.1.1), hosted on SiteGround shared hosting. PHP version 8.1.13, cURL version 7.66.0 OpenSSL/1.1.1q-fips.
    I don't have Php errors or warnings in my logs.

    Do you have any idea in order to solve this problem?

    Attached files:  wpdatatables-error.jpeg

  •  2
    Gerard replied

    I am getting same error.  It just started as well.  I rolled back my version of wpdatatables to 5.1 in case it was an issue with 5.2.  I am still down.  I tried Serialized Data method and getting the same error.

  •  3
    Ryan replied

    Hi Gerard,

    I had this issue reported last week while I was out of the office.  We were running wpDataTables v5.1 when the issue first started.  Upgrading to 5.2 didn't fix the issue either.  

    There weren't any changes on the website that we are aware of but the below error is showing up in place of all my wpDataTables.

    Error
    HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

    Thanks,

    Ryan

  •  2
    Gerard replied

    Ryan/Luca,

    I have been testing/debugging the problem to see what may be happening.  What I am seeing is that wpdatatables never tries to call the JSON url that is in the settings.  The problem is serverside.  It does not matter the http header settings and or format of the json output.  wpdatatables fails before even trying to get the data.  There is nothing we can do until someone can look at it.

  •  3
    Ryan replied

    Is everyone else affected by this?  Has anyone gotten this working yet?  If so, how did you resolve it?

    Thanks,

    Ryan

  •  2
    Gerard replied

    We are completely down.  It is affecting our year end processing.

  •  3
    Ryan replied

    JUST FYI: 

    In testing, it appears I can create one of the new "NESTED JSON" sourced tables and use the same original JSON data file and it will read the JSON file and create the table without error.  I didn't try going any further because we have a few JSON sourced tables with a bit of manual manipulation to get them where we wanted each of them and I'd hate to have to recreate all of my JSON sourced tables as NESTED JSON.

  •  2
    Gerard replied

    Thx but that doesn't fix our issue.  This is not isolated to one instance of your product.  Can you escalate please?

  •  3
    Ryan replied

    Hi Gerald, 

    Sorry I can't escalate this, I'm just an end user trying to get our tables back operational too; which went down around December 29th, 2022.  I did create a private ticket and point to this one.

    Additional notes from testing on my end:  I was able to create a JSON table using the "example" data off the wpDataTables website:

    https://wpdatatables.com/sample_files/employees.json

    I'm going to go back now and examine their JSON file structure vs. mine.  I also need to ask the hosting provider to investigate anything that could be blocking communications internally somehow.

    Again, this was working just fine a few weeks ago with the original JSON structure.  This issue seemed to appear out of the blue and I don't know of anything that was changed prior to showing up.

    Is this an isolated case somehow or, are the 3 of us the only ones to actually use JSON functionality in wpDataTables...

    I really need this back up and operational.

    Thanks,

    Ryan

  •  2
    Gerard replied

    Ryan,

    I am the same way.  I may need to use a different solution in future because I cannot deal with this kind of downtime.  Out of curiosity I just took the JSON from the link and I created a file on our server with the JSON structure.  So it should give the exact same result as the wpdatatables example and it fails with the same error.  When I manually display the JSON, it looks identical to the wpdatatables example.  

    When I was debugging a couple days ago, I found that the json was not even being requested from within the wpdatatables plugin.  It failed before trying to get data.  I had put a php log entry into the calling url.  The log does not get sent to the php log with the url is requested from the plugin.  But if I manually displayed the json, I could see the log entry.

    I will try a couple other things and let you know.

    Gerard

  •  2
    Gerard replied

    Sorry about the escalation comment.  I thought you were with wpdatatables support.  Crickets on that one!!!! 

  •  3
    Ryan replied

    Hi Gerard,

    No problem, hopefully we will get some type of response (or better yet a fix) soon!  

    Ryan

  •  2
    Gerard replied

    Ryan,

    I received a message from support.  They are asking for access to our site.  I cannot let them have access.  Can you let support have access to your site to help them debug?

    Gerard

  •  3
    Ryan replied

    Gerard,

    By chance did you try to use their example JSON data directly from the link I posted?  If so, did wpDataTables let you create the table?

    Ryan

  •  2
    Gerard replied

    Ryan, 

    It did when I used their example.  When I copied the json and pasted in a text file on our server, it fails when using a local json example.


    Gerard

  •  3
    Ryan replied

    Hi Gerald,

    Yes, I can give them access but not via this ticket.

    Ryan

  •  3
    Ryan replied

    Gerard,

    My Ticket #3201439
    HTTP/2 stream 0 was not closed cleanly: PROTOCOL_ERROR (err 1)

    Ryan

  •  2
    Gerard replied

    Ryan, I asked Miloš to contact you for a login.

    Gerard

  •  3
    Ryan replied

    Hi Gerard,

    Sorry for the delay, I was doing some additional testing.  I haven't heard from Miloš yet, but am prepared to provide them access.

    As for testing, I took the original JSON file giving me problems and copied it out to another website we have access to.  The other website isn't running WP, it's just a basic website.  

    Anyway, I'm able to create a new JSON table pointing to that original file off host.  

    Odd that you weren't getting anything in your log.  Maybe their plugin is silently failing somewhere due to access to the file or interruption while reading it???

    Ryan

  •  3
    Ryan replied

    Gerard,

    Just heard from Miloš, he was able to access our site and has begun looking into the issue.  Hopefully they will update this public ticket with a resolution soon!  Let me know if you get a resolution before you hear back from me.

    Ryan

  •  1,708
    Miloš replied

    Hi, everyone.

    First i wish to apologise for all the waiting time.

    There are other couple of users who also reported this same issue.

    At first it seemed to me that it might be isolated, but i can see that you guys have the same error.

    I am still not 100% sure what exactly is the root of this,

    but we are not able to reproduce this issue on our Test sites with any of our "sample JSON" data for testing.

    So far i have researched about this particular error and i just found this article from Stack Overflow https://stackoverflow.com/questions/56865217/php-curl-error-http-2-stream-0-was-not-closed-cleanly-protocol-error-err-1,

    but I'm not sure if it helps this specific situation.

    -

    I have urgently escalated all the details from this ticket, along with your personal private tickets, and our 2nd level Team is helping me investigate everything.

    We will keep you posted with any new information and it has been raised to the highest level of urgency.

    Of course, i will let you know if we need any additional details along the way.

    Thank you for your patience and cooperation in the troubleshooting.

    -

    And @Luca, if you could send me a private reply with the URL of your JSON data, so that i can try to link it to our Test site/make a new table and check if i can replicate the error?

    Thank you

    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  •  2
    Gerard replied

    Miloš, I can confirm that nested JSON works.  I will see if this will help us in the short term.

    Thx,

    Gerard

  •  1,708
    Miloš replied

    Just a small update that we made with Ryan.

    Basically, when he uploads the same JSON file to another server/other site that he has access to,

      then we are able to connect a new table as "standard JSON" method.

    Just for the file that is on the "local hosting"/same as WordPress server, for some reason, we get the error as "standard JSON",   but "Nested JSON" works in either case.

    - I can confirm that if i try to connect a new table from our Test Site to the Ryan's file that is hosted on his WP server,  we got error as  "Empty reply from server" :

    7490206829.png

    But if we try the other copy of the JSON file ( with identical structure,  of course), which is hosted on another server - then there are no errors...

    So it seems that it is some kind of a server issue, but we are still working on it,  we will do our best to advise what you might check to resolve this.

    Thanks again for your patience and cooperation.

    The "emergency temporary solution" can be to switch to Nested JSON, at least for the most urgent tables,

    while we are working on this.

    We will keep you posted, of course.

    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  •  3
    Ryan replied

    Hi Miloš,

    • I can create "Standard" JSON tables from external sites (NOT a WordPress site).
      • Is the example wpDataTables JSON data stored on a WP site?  If so, then the statement above might not be accurate.  I don't have any other external WP site to test with other than our staging site.
    • I can create "NESTED" JSON tables pointed at the original files and their locations.
    • I can create Excel tables but only if I use the "WordPress Media Library" option.  I cannot use the "URL from any domain" and point to the same file. I get this same error, see screenshot attached.

    Questions: 

    1. If the NESTED JSON is the workaround, shouldn't that eliminate a large portion of the server side areas?
      1. What other areas should we focus on the server side?
    2. The plugin/WP is giving an error, just not a very helpful/descriptive error.  
      1. Can we, as end users, temporarily increase the debug info (verbose maybe) during that process somehow?
    3. This issues seems to have hit a couple people around the same time. (maybe a time based issue somewhere)
    4. Does the plugin make any external calls outside of the hosting domain/server that could be having an issue?

    Ryan

    Attached files:  Screenshot 2023-01-05 144941.png

  •  2
    Gerard replied

    Miloš,

    Another thing that may have been missed previously on this thread.  If I switch to php stringify, I got the same error so it appears it isn't just json issue.

    Gerard

  •  1,708
    Miloš replied

    Hi, guys

    Thank you for these updates with more details.

    In the meantime, we have escalated this higher,  now our developers are also helping us figure this out.

    We will keep you posted on their findings, and of course, we are doing our best to work as quickly as possible.

    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  •  1,708
    Miloš replied

    Hi, guys

    I have an update, we are not sure if this will solve it, but if you can, please try, and we will see how it goes.

    It seems that the error happens when servers have an old CURL version set up.

    Can you please try this :

    Find this PHP file in your plugin files on your FTP, the path is :

    ..\wp-content\plugins\wpdatatables\source\class.wdttools.php

    around line 236,  find this :

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

    4283094204.png

    and beneath that line, add this :

    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);

    2817205496.png

    Save the change and then try again, let me know if that fixes the issue, please.

    Thank you

    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  •  3
    Ryan replied

    Hi Miloš,

    Had my fingers crossed, but it didn't fix the issue for me.  I just get a different error now, see below and screenshot.

    Error
    Empty reply from server

    9894019597.png

    Ryan

  •  2
    Gerard replied

    Ryan,

    I as able to fix my tables by modifying the line to:

    $agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36';

    Gerard


  •  3
    Ryan replied

    Hi Gerard,

    Where did you add that line?

    Thanks,

    Ryan

  •  2
    Gerard replied

    Ryan,

    I found it online.  I tried to run the command without the agent and some of my tables starting working.  At least I was getting the table but some tables had "No data available in table".  I searched online to find curl options for the agent string and the first one I tried worked.  That is the one I sent to you.

    Gerard

  •  3
    Ryan replied

    WOW, Thanks Gerard!!!  That allowed me access to my tables again and it appears to have fixed the front-end tables as well!

    Below is a recap of what I ended up with:

    Our hosting provider had added the other code as recommended, but I got a different error, see prior post.  I removed that code and just used what you gave me.  It appears to be working with just your code replacing line 229.  

    Is the original recommendation to add the below lines even needed?

    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
    curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
    

    In the ..\wp-content\plugins\wpdatatables\source\class.wdttools.php file, I commented out line 229 and added your code below it (line 230), see below:

    $ch = curl_init();
    $timeout = 100;
    /** $agent = 'Mozilla/5.0 (Windows NT 6.2; WOW64; rv:17.0) Gecko/20100101 Firefox/17.0'; */
    $agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36';
    

    Ryan

  •  2
    Gerard replied

    That's great Ryan, I didn't realize you were getting someone else to edit the file.  I would have explained a little more.  The other line change should not be required.  It was a fix related to an older version of php curl that could have been the culprit.  It did not work for either of us so you can disregard it.

    We can wait and see what the response is from wpdatatables.  They may include in their next patch.  

    Email me at [email protected]  .  I would like to have your email.  I will send you my proper email.

    Cheers,

    Gerard

  •  2
    Luca replied

    Sorry for the absence but I had a couple of days off. I confirm that the solution proposed by Ryan also restores my tables.

  •  3
    Ryan replied

    Hi Luca,

    I only wish I was good enough to have found the solution!  


    Gerard is the one who saved my bacon as well, so he is the rightfully one to receive acknowledge for finding a solution!!!

    Thanks again Gerard!!!

    Ryan

  •  1,708
    Miloš replied

    Hi everyone.

    Thank you so much for all your patience and cooperation.

    Especially of course, thank you Gerard for sharing the solution with us.

    I am passing absolutely all the details that we gathered here to our developers and QA Testers,

    and we will do our best to either add this somewhere in our documentation or to add a note at least, so that we can improve our handling and advice that we can share with other users that might experience these same issues.

    I will let you know if our devs require any further details,

    but for now the most important thing is that it is resolved for everyone who reported it on the ticket.

    Can everyone confirm that the issue is resolved and you can now access all of your existing JSON tables that previously gave these errors?

    Thanks again.

    Kind Regards, 

    Miloš Jovanović
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables