Как анализировать оперный журнал аварий - PullRequest
0 голосов
/ 10 июня 2011

Я разработал расширение для оперы, которое позволяет пользователям переходить на веб-сайты "Google +1".Он отлично работает на стабильных выпусках Opera, но вылетает опера при запуске на альфа-версиях (Opera Next).Расширение прошло модерацию и опубликовано, теперь пользователи жалуются, что оно аварийно завершает работу с Opera 11.50, которая является альфа-версией.

Я пытаюсь найти способы исправить это, но у меня есть только журнал сбоев, чтобы определить, гдепроблема возникает.

Вот полный журнал сбоев (вставка бина дает проблемы, не знаю, куда загрузить): http://www.mediafire.com/?y3zzn4it1662t4u

Журнал сбоев:

OPERA-CRASHLOG V1 desktop 11.50 1027 windows
Opera.exe 1027 (1) caused exception C0000005 at address 73002000 (Base: 90000)

Registers:
EAX=6DEE0167   EBX=063DABD8   ECX=06AF77C0   EDX=004AE5B4   ESI=00000000
EDI=033C1500   EBP=004AE5C8   ESP=004AE5AC   EIP=73002000 FLAGS=00010206
CS=0023   DS=002B   SS=002B   ES=002B   FS=0053   GS=002B
FPU stack:
4015A584B00000000000 00000000000000000000 00000000000000000000
00000000000000000000 00000000000000000000 4007E273560000000000
40038000000000000000 BFF8A200000000000000 SW=4026 CW=027F

Stack dump:
004AE5AC  6D50F2A3  004AE5B4  00000000  033C1500  £òPm´åJ......<
004AE5BC  033C1500  00000000  004AE680 >004AE680  .<....۾J.۾J.
004AE5CC  6D725605  00000000  6D56BFEC  0335DE28  Vrm....ì¿Vm(Þ5
004AE5DC  02E46FA8  063DABC0  004AE688  063DABA0  ¨oäÀ«=ˆæJ. «=
004AE5EC  00000000  00000000  033C1500  00000000  .........<....
004AE5FC  00000000  00000000  00000000  00000000  ................
004AE60C  6DC6A185  00000001  02E46FD8  066324C0  …¡Æm...ØoäÀ$c
004AE61C  00000000  00000000  005889D0  00000001  ........ЉX....
004AE62C  D155E764  D155E764  004AE674  06B028D0  dçUÑdçUÑtæJ.Ð(°
004AE63C  0288EC08  02980B48  77A42907  77A69684  ìˆH.˜)¤w„–¦w
004AE64C  004AE67C  6DC6A2F3  02981760  06B028D0  |æJ.ó¢Æm`˜Ð(°
004AE65C  02E46FD8  06B028D0  06B028DC  02980B48  ØoäÐ(°Ü(°H.˜

Если кто-то захочет проанализировать мое расширение:

index.html:

    <!DOCTYPE html>
<html lang="en">
<head>

 <script type="text/javascript">
 /* Window onload event listener */
window.addEventListener("load", function()
      {
       var theButton;
       /* Button properties */
        var ToolbarUIItemProperties = {
            title: "+1 this page",      /*Button title */
            icon: "icons/icon_16.png",  /*Button icon */
            popup: {href: "popup.html", width: 70, height: 90},  /* popup properties */
            badge: {              /* badge properties (not useful right just incase) */
             textContent: '',
             backgroundColor: '#006',
             color: '#ff6',
             display: 'block'
            }
      }
         theButton = opera.contexts.toolbar.createItem(ToolbarUIItemProperties);
         opera.contexts.toolbar.addItem(theButton);  /*Add button to toolbar */
       /* listen for onconnect */
    opera.extension.onconnect = function(event){
      try {   
           event.source.postMessage(opera.extension.tabs.getFocused().url);   
           /* get current focused tab and post it*/
         }
         catch(e)
         { 
         }
    }


       },false);


    </script>

</head>
<body>

</body>
</html>

popup.html:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
</head>
<body>
<script type="text/javascript" src="http://apis.google.com/js/plusone.js">  /* Load plusone.js */
  {parsetags: 'explicit'}    /* Define explicit render */
</script>

<div id="plusOneContainer"><!-- Container to place the result -->
<g:plusone href="http://www.google.com" size="tall"></g:plusone>
<!-- <img src="icons/loader.gif" alt="Loading..." width=100% />  Loading image -->
</div>


<script>
 /* Window onload event listener */
window.addEventListener("load", function(){   
 /*Listen for message */    
    opera.extension.onmessage = function(event){

        var url=event.data;  /* get current tab url */
        alert(url);
        /* document.getElementById("plusOneContainer").innerHTML = '<g:plusone href="' + url + '" size="tall"></g:plusone>';   render tag */

        }
    }, false);
</script>



<script type="text/javascript">
function render() {
gapi.plusone.go();   /* This renders all +1 tags */
}
window.onload = window.setTimeout(render, 100);
</script>
</body>
</html>

1 Ответ

0 голосов
/ 10 июня 2011

Сбой известен как CORE-39188 в багтрекере Opera, и, надеюсь, будет исправлен до финального выпуска 11.50.

...