I seem to be getting a repeating 404 error in the Chrome console when in wordpress admin very occasionally it gets marked as a 500 error for the same line, perhaps is something to do with an authorisation check as surrounding calls to that file are. They build up over time even when no action is being taken. The error is:


POST https://www.example.com/wp-admin/admin-ajax.php 404 (Not Found)

On clicking the link the problem line 4208 (red cross) in the code shows as:

  g.send(b.hasContent && b.data || null),

I read around on this and someone suggested for a similar error line that the script is not being loaded under https while the site is https. However having scanned through every reference I can find is all using https and I even tried forcing https with htaccess since.

To be honest I'm not sure what this relates to and is tricky to see where the sections of code begin and end, some more of the surrounding code of the above line is:

l.cors = !!gc && "withCredentials"in gc,
gc = l.ajax = !!gc,
gc && n.ajaxTransport(function(b) {
    if (!b.crossDomain || l.cors) {
        var c;
        return {
            send: function(d, e) {
                var f, g = b.xhr(), h = ++ec;
                if (g.open(b.type, b.url, b.async, b.username, b.password),
                    for (f in b.xhrFields)
                        g[f] = b.xhrFields[f];
                b.mimeType && g.overrideMimeType && g.overrideMimeType(b.mimeType),
                b.crossDomain || d["X-Requested-With"] || (d["X-Requested-With"] = "XMLHttpRequest");
                for (f in d)
                    void 0 !== d[f] && g.setRequestHeader(f, d[f] + "");
                g.send(b.hasContent && b.data || null),
                c = function(a, d) {
                    var f, i, j;
                    if (c && (d || 4 === g.readyState))
                        if (delete fc[h],
                        c = void 0,
                        g.onreadystatechange = n.noop,
                            4 !== g.readyState && g.abort();
                        else {
                            j = {},
                            f = g.status,
                            "string" == typeof g.responseText && (j.text = g.responseText);
                            try {
                                i = g.statusText
                            } catch (k) {
                                i = ""
                            f || !b.isLocal || b.crossDomain ? 1223 === f && (f = 204) : f = j.text ? 200 : 404
                    j && e(f, i, j, g.getAllResponseHeaders())
                b.async ? 4 === g.readyState ? a.setTimeout(c) : g.onreadystatechange = fc[h] = c : c()
            abort: function() {
                c && c(void 0, !0)

If anyone knows what this might relate to and if it's a serious problem I'd be grateful for some feedback. Thanks

Edit: am finding this repeating (for various .php files and referer url endings) in error.log

[Sat Mar 09 00:38:06 2019] [warn] [client w.x.y.z] (104)Connection reset by peer: mod_fcgid: error reading data from FastCGI server, referer: https://www.example.com/wp-admin/

[Sat Mar 09 00:38:06 2019] [error] [client w.x.y.z] Premature end of script headers: admin-ajax.php, referer: https://www.example.com/wp-admin/

So perhaps is related, this issue is looked at here: https://stackoverflow.com/questions/12153518/connection-reset-by-peer-mod-fcgid-error-reading-data-from-fastcgi-server

  • So I spoke to the host, they said the site was hitting memory limits on shared resources, seems the processes were being killed off according to articles they referred me to ending script headers prematurely: help.dreamhost.com/hc/en-us/articles/… I should think an over zealous backup plugin might have been a big centender. Anyway given some more headroom the errors have gone for now. My site is still 'coming soon' with no users so bit surprised really. – edindubai Mar 9 '19 at 20:17

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.