Menu

#4969 (ok 4.4.11) Autoload from prefs_storage not behaving properly

4.4.7
fixed
Normal
2015-07-06
2015-06-26
No

Hi,

The preferences can be stored in browser's localstorage.
Now, if I logout and re-login. There is a notice (div id="prefs_autoload") saying "Your browser has phpMyAdmin configuration for this domain. Would you like to import it for current session?". (till this, it behaves as expected)

But when I click "Yes", there is a Javascript Error "Invalid JSON!Unexpected token < "
and "Uncaught TypeError: Cannot read property 'status' of null".

The error report is (just for reference):

{
"pma_version": "4.4.7",
"browser_name": "CHROME",
"browser_version": "37.0.2062.120",
"user_os": "Linux",
"server_software": "nginx/1.6.2",
"user_agent_string": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36",
"locale": "en",
"configuration_storage": "enabled",
"php_version": "5.6.9-0+deb8u1",
"exception_type": "js",
"exception": {
"mode": "stack",
"name": "TypeError",
"message": "Cannot read property 'status' of null",
"stack":
{
"line": 232,
"func": "",
"context": [
" lastException = null;",
" notifyHandlers.apply(null, [stack, null
.concat(args));",
" }",
" }, (stack.incomplete ? 2000 : 0));",
"",
" throw ex; // re-throw to propagate to the top level (and cause wind//...",
" }",
"",
" report.subscribe = subscribe;",
" report.unsubscribe = unsubscribe;",
" return report;"
],
"column": "",
"filename": "tracekit/tracekit.js"
},
{
"func": "HTMLDocument.<anonymous>",
"line": 173,
"column": "32",
"context":
" try {",
" var data = $.parseJSON(xhr.responseText);",
" PMA_console.ajaxCallback(data);",
" } catch (e) {",
" console.log(\"Invalid JSON!\" + e.message);",
" if(AJAX.xhr.status === 0 && AJAX.xhr.statusText !== 'ab//...",
" PMA_ajaxShowMessage($('

',{class:'error',html//...",
" AJAX.active = false;",
" AJAX.xhr = null;",
" }",
" }"
,
"filename": "console.js"
},
{
"func": "HTMLDocument.new_func",
"line": 276,
"column": "33",
"context":
" */",
" wrap_function: function (func) {",
" if (!func.wrapped) {",
" var new_func = function () {",
" try {",
" return func.apply(this, arguments);",
" } catch (x) {",
" TraceKit.report(x);",
" }",
" };",
" new_func.wrapped = true;"
,
"filename": "error_report.js"
},
{
"func": "HTMLDocument.m.event.dispatch",
"line": 3,
"column": "8436",
"context":
"/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
"!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
"if(k&&j[k
&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
"},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
";",
"",
"function sprintf() {",
"/"
],
"filename": "jquery/jquery-1.11.1.min.js"
},
{
"func": "HTMLDocument.$event.dispatch",
"line": 373,
"column": "19",
"context":
"$event.dispatch = function( event ){",
"\tif ( $.data( this, \"suppress.\"+ event.type ) - new Date().getTime() > 0 ){",
"\t\t$.removeData( this, \"suppress.\"+ event.type );",
"\t\treturn;",
"\t}",
"\treturn $dispatch.apply( this, arguments );",
"};",
"",
"// event fix hooks for touch events...",
"var touchHooks = ",
"$event.fixHooks.touchstart = "
,
"filename": "jquery/jquery.event.drag-2.2.js"
},
{
"func": "HTMLDocument.r.handle",
"line": 3,
"column": "5146",
"context":
"/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
"!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
"if(k&&j[k
&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
"},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
";",
"",
"function sprintf() {",
"/
"
],
"filename": "jquery/jquery-1.11.1.min.js"
},
{
"func": "Object.m.event.trigger",
"line": 3,
"column": "7537",
"context":
"/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
"!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
"if(k&&j[k
&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
"},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
";",
"",
"function sprintf() {",
"/"
],
"filename": "jquery/jquery-1.11.1.min.js"
},
{
"func": "x",
"line": 4,
"column": "21995",
"context":
"/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
"!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
"if(k&&j[k
&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
"},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
";",
"",
"function sprintf() {",
"/
",
" * Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io)"
],
"filename": "jquery/jquery-1.11.1.min.js"
},
{
"func": "XMLHttpRequest.b",
"line": 4,
"column": "25897",
"context":
"/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
"!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
"if(k&&j[k
&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
"},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
";",
"",
"function sprintf() {",
"/*",
" * Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io)"
],
"filename": "jquery/jquery-1.11.1.min.js"
}
],
"useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36",
"incomplete": "false",
"partial": "true",
"uri": "index.php?target="
},
"script_name": "index.php",
"microhistory": {
"pages":
{
"hash": "index.php?db=&table=&server=2&target=&token=3a15a33d49f2e78dc62435bff7a485fe"
}
,
"current_index": "1"
}
}

Discussion

  • Deven Bansod

    Deven Bansod - 2015-06-26

    Sorry for the bad formatting.
    Better formatted report is here :

    {
        "pma_version": "4.4.7",
        "browser_name": "CHROME",
        "browser_version": "37.0.2062.120",
        "user_os": "Linux",
        "server_software": "nginx/1.6.2",
        "user_agent_string": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36",
        "locale": "en",
        "configuration_storage": "enabled",
        "php_version": "5.6.9-0+deb8u1",
        "exception_type": "js",
        "exception": {
            "mode": "stack",
            "name": "TypeError",
            "message": "Cannot read property 'status' of null",
            "stack": [
                {
                    "line": 232,
                    "func": "",
                    "context": [
                        "                lastException = null;",
                        "                notifyHandlers.apply(null, [stack, null].concat(args));",
                        "            }",
                        "        }, (stack.incomplete ? 2000 : 0));",
                        "",
                        "        throw ex; // re-throw to propagate to the top level (and cause wind//...",
                        "    }",
                        "",
                        "    report.subscribe = subscribe;",
                        "    report.unsubscribe = unsubscribe;",
                        "    return report;"
                    ],
                    "column": "",
                    "filename": "tracekit/tracekit.js"
                },
                {
                    "func": "HTMLDocument.<anonymous>",
                    "line": 173,
                    "column": "32",
                    "context": [
                        "                try {",
                        "                    var data = $.parseJSON(xhr.responseText);",
                        "                    PMA_console.ajaxCallback(data);",
                        "                } catch (e) {",
                        "                    console.log(\"Invalid JSON!\" + e.message);",
                        "                    if(AJAX.xhr.status === 0 && AJAX.xhr.statusText !== 'ab//...",
                        "                        PMA_ajaxShowMessage($('<div />',{class:'error',html//...",
                        "                        AJAX.active = false;",
                        "                        AJAX.xhr = null;",
                        "                    }",
                        "                }"
                    ],
                    "filename": "console.js"
                },
                {
                    "func": "HTMLDocument.new_func",
                    "line": 276,
                    "column": "33",
                    "context": [
                        "     */",
                        "    wrap_function: function (func) {",
                        "        if (!func.wrapped) {",
                        "            var new_func = function () {",
                        "                try {",
                        "                    return func.apply(this, arguments);",
                        "                } catch (x) {",
                        "                    TraceKit.report(x);",
                        "                }",
                        "            };",
                        "            new_func.wrapped = true;"
                    ],
                    "filename": "error_report.js"
                },
                {
                    "func": "HTMLDocument.m.event.dispatch",
                    "line": 3,
                    "column": "8436",
                    "context": [
                        "/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
                        "!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
                        "if(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
                        "},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
                        ";",
                        "",
                        "function sprintf() {",
                        "/*"
                    ],
                    "filename": "jquery/jquery-1.11.1.min.js"
                },
                {
                    "func": "HTMLDocument.$event.dispatch",
                    "line": 373,
                    "column": "19",
                    "context": [
                        "$event.dispatch = function( event ){",
                        "\tif ( $.data( this, \"suppress.\"+ event.type ) - new Date().getTime() > 0 ){",
                        "\t\t$.removeData( this, \"suppress.\"+ event.type );",
                        "\t\treturn;",
                        "\t}",
                        "\treturn $dispatch.apply( this, arguments );",
                        "};",
                        "",
                        "// event fix hooks for touch events...",
                        "var touchHooks = ",
                        "$event.fixHooks.touchstart = "
                    ],
                    "filename": "jquery/jquery.event.drag-2.2.js"
                },
                {
                    "func": "HTMLDocument.r.handle",
                    "line": 3,
                    "column": "5146",
                    "context": [
                        "/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
                        "!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
                        "if(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
                        "},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
                        ";",
                        "",
                        "function sprintf() {",
                        "/*"
                    ],
                    "filename": "jquery/jquery-1.11.1.min.js"
                },
                {
                    "func": "Object.m.event.trigger",
                    "line": 3,
                    "column": "7537",
                    "context": [
                        "/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
                        "!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
                        "if(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
                        "},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
                        ";",
                        "",
                        "function sprintf() {",
                        "/*"
                    ],
                    "filename": "jquery/jquery-1.11.1.min.js"
                },
                {
                    "func": "x",
                    "line": 4,
                    "column": "21995",
                    "context": [
                        "/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
                        "!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
                        "if(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
                        "},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
                        ";",
                        "",
                        "function sprintf() {",
                        "/*",
                        " * Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io)"
                    ],
                    "filename": "jquery/jquery-1.11.1.min.js"
                },
                {
                    "func": "XMLHttpRequest.b",
                    "line": 4,
                    "column": "25897",
                    "context": [
                        "/*! jQuery v1.11.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/li//...",
                        "!function(a,b){\"object\"==typeof module&&\"object\"==typeof module.exports?mod//...",
                        "if(k&&j[k]&&(e||j[k].data)||void 0!==d||\"string\"!=typeof b)return k||(k=i?a//...",
                        "},cur:function(){var a=Zb.propHooks[this.prop];return a&&a.get?a.get(this)://...",
                        ";",
                        "",
                        "function sprintf() {",
                        "/*",
                        " * Copyright (c) 2013 Kevin van Zonneveld (http://kvz.io)"
                    ],
                    "filename": "jquery/jquery-1.11.1.min.js"
                }
            ],
            "useragent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/37.0.2062.120 Chrome/37.0.2062.120 Safari/537.36",
            "incomplete": "false",
            "partial": "true",
            "uri": "index.php?target="
        },
        "script_name": "index.php",
        "microhistory": {
            "pages": [
                {
                    "hash": "index.php?db=&table=&server=2&target=&token=3a15a33d49f2e78dc62435bff7a485fe"
                }
            ],
            "current_index": "1"
        }
    }
    
     
  • Madhura Jayaratne

    • assigned_to: Madhura Jayaratne
     
  • Madhura Jayaratne

    • summary: Autoload from prefs_storage not behaving properly --> (ok 4.4.11) Autoload from prefs_storage not behaving properly
    • status: open --> resolved
     
  • Marc Delisle

    Marc Delisle - 2015-07-06
    • Status: resolved --> fixed