chrome.* extension APIs intermittently unavailable on 2.3.1440.61 x86



  • Edit Bug report submitted: VB-50853

    I am the developer of the TabFern session manager, which has been running fine on Chrome since 2017 and Vivaldi since Sep. 2018. A user recently reported load failures, which I have been able to reproduce on 2.3.1440.61 (issue). It appears that sometimes the chrome.* APIs disappear, or that sometimes the extension runs with the permissions of a normal page rather than an extension. The failures are intermittent but usually don't take me more than three attempts to reproduce.

    I am going to file a bug report, and am also posting here to see if anyone else has noticed this problem.

    Repro

    • Unzip TabFern from here (on the GitHub issue) into a directory
    • Load that directory as an unpacked extension
    • It will open a popup window. The window should have a black background. If it doesn't, you have already experienced the problem. See screenshot below, indicated by the red arrow.
    • If the popup dies have a black background, close the popup window and click the toolbar button to reopen it (screenshot, blue arrow). You should only have to do that two or three times to trigger the error.

    Discussion

    During the failure, chrome.window and chrome.i18n do not have all of the attributes they normally do when an extension is running. For example, chrome.window.WINDOW_ID_NONE and chrome.i18n.getMessage are missing. However, those attributes are visible later through the Developer Console.

    Screenshot and version

    screenshot

    Vivaldi 2.3.1440.61 (Stable channel) (32-bit)
    Revision 2280481e163fe1c769ad046b453248ddb5bd477e-refs/heads/master@{#629885}
    OS Windows
    JavaScript V8 7.2.502.28
    Flash 32.0.0.156 C:\WINDOWS\SysWOW64\Macromed\Flash\pepflashplayer32_32_0_0_156.dll
    User Agent Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.122 Safari/537.36 Vivaldi/2.3.1440.61
    Command Line "C:\Users\cxw\prog\Vivaldi\Application\vivaldi.exe" --vivaldi-standalone --flag-switches-begin --flag-switches-end --ppapi-flash-path="C:\WINDOWS\SysWOW64\Macromed\Flash\pepflashplayer32_32_0_0_156.dll" --disable-smooth-scrolling --save-page-as-mhtml
    Executable Path C:\Users\cxw\prog\Vivaldi\Application\vivaldi.exe
    Profile Path C:\Users\cxw\prog\Vivaldi\User Data\Default


  • Moderator

    @cxw said in chrome.* extension APIs intermittently unavailable on 2.3.1440.61 x86:

    VB-50853

    Confirmed bug for Stable 2.3.1440.61, Snapshot 2.4.1483.4 and internal Daily 2.4.148x.y


  • Moderator

    It throws this error in console:

    container.js:186 TabFern common.js loading
    container.js:11226 TabFern: running app/win/container.js
    main.js:186 TabFern common.js loading
    main.js:301 Using #171 hack
    (anonymous) @ main.js:301
    main.js:33621 =============================================================
    Loading TabFern 0.2.0-pre.5 from app/win/main_tl.js
    main.js:21103 Uncaught TypeError: Cannot read property 'WINDOW_ID_NONE' of undefined
        at main.js:21103
        at main.js:21043
        at main.js:21054
        at initModule (main.js:42)
        at require (main.js:59)
        at expanded (main.js:34)
        at main.js:21721
        at initModule (main.js:42)
        at require (main.js:59)
        at main.js:33641
    container.js:11291 TabFern main.js onload
    


  • @Gwen-Dragon Thanks very much for testing and confirming! For reference, the error line is here in the unpacked source.



  • I just tried with the new stable 2.4.1488.35 x86. It took me more tries closing and opening the window to reproduce the problem, but I was able to do so.


  • Moderator

    @cxw I updated VB-50853 in bugtracker.



  • @Gwen-Dragon Still an issue in 2.5.1525.48 (Stable channel) (32-bit) 😞 . Would you be willing to update the bugtracker?

    With the latest TabFern, the error happens in a different place in the code but has the same effects. The error is now:

    Uncaught TypeError: Cannot read property 'getManifest' of undefined
    at main.js:34159

    which comes from a console.log --- nothing fancy:

    console.log(
    `=============================================================
    Loading TabFern ${'0.2.1-pre.1'} from ${'app/win/main_tl.js'}
        manifest ver ${chrome.runtime.getManifest().version}  <=== error line
        manifest ver_name ${chrome.runtime.getManifest().version_name}`
    );
    

    Thank you!

    (Vivaldi Revision 29398d382527041597792325909ec48e07e1f5a6; OS Win8.1 Build 9600 x64)


  • Moderator

    @cxw said in chrome.* extension APIs intermittently unavailable on 2.3.1440.61 x86:

    @Gwen-Dragon Still an issue in 2.5.1525.48 (Stable channel) (32-bit) 😞 . Would you be willing to update the bugtracker?

    Thanks for new feedback. 👍
    I updated the bug entry now.



  • Still an issue on 2.7.1628.33 -

    console.log(`manifest ver ${chrome.runtime.getManifest().version}`)
    

    fails with

    Uncaught TypeError: Cannot read property 'getManifest' of undefined
    

    vivaldi:version:

    Vivaldi	2.7.1628.33 (Stable channel) (64-bit)
    Revision	3bef5abd3cc7273c4ab9932c541c37ca668f9cc0
    OS	Windows 10 OS Version 1809 (Build 17763.678)
    JavaScript	V8 7.6.303.30
    Flash	(Disabled)
    User Agent	Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.137 Safari/537.36 Vivaldi/2.7.1628.33
    Command Line	"C:\Users\cxw\AppData\Local\Vivaldi\Application\vivaldi.exe" --flag-switches-begin --flag-switches-end --disable-smooth-scrolling --save-page-as-mhtml
    Executable Path	C:\Users\cxw\AppData\Local\Vivaldi\Application\vivaldi.exe
    Profile Path	C:\Users\cxw\AppData\Local\Vivaldi\User Data\Default
    

    It sometimes comes back if I:

    • close and reopen; or
    • hit F5 several times.

    As a workaround, do you (or the developers) think it might help if TabFern slept for 500ms or something before trying to initialize? I haven't tried that yet, but certainly could.


Log in to reply
 

Looks like your connection to Vivaldi Forum was lost, please wait while we try to reconnect.