Opened 16 months ago

Closed 16 months ago

Last modified 16 months ago

#6655 closed defect (fixed)

"setUninstallURL: String must not be more than 255 characters long." exception

Reported by: Ross Assignee: sebastian
Priority: P1 Milestone: Adblock-Plus-3.1-for-Chrome-Opera-Firefox
Module: Platform Keywords:
Cc: sebastian, kzar Blocked By:
Blocking: Platform: Chrome
Ready: yes Confidential: no
Tester: Ross Verified working: yes
Review URL(s):

https://codereview.adblockplus.org/29777640

Description (last modified by Ross)

Environment

ABP 3.0.4.2041
Chrome 66 / Windows 7

Could not reproduce in Chrome 49.
Could not reproduce in Firefox 59.

How to reproduce

  1. Install ABP.
  2. Open background_page console.

Observed behaviour

The following exceptions appears in the console after install. On uninstall the uninstall page is not displayed.

Uncaught (in promise) Error: Invalid value for argument 1. String must not be more than 255 characters long.
    at validate (extensions::schemaUtils:34:13)
    at Object.normalizeArgumentsAndValidate (extensions::schemaUtils:119:3)
    at Object.<anonymous> (extensions::binding:363:30)
    at Object.value [as setUninstallURL] (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/polyfill.js:106:30)
    at Object.exports.setUninstallURL (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/lib/adblockplus.js:7765:19)
    at Promise.all.then.then.then.then (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/lib/adblockplus.js:5743:41)
Error in event handler for storage.onChanged: Error: Invalid value for argument 1. String must not be more than 255 characters long.
    at Object.value [as setUninstallURL] (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/polyfill.js:106:30)
    at exports.setUninstallURL (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/lib/adblockplus.js:7765:19)
    at exports.EventEmitter.emit (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/lib/adblockplus.js:4625:7)
    at browser.storage.onChanged.addListener.changes (chrome-extension://ldcecbkkoecffmfljeihcmifjjdoepkn/lib/adblockplus.js:1641:24)

Expected behaviour

No exceptions in the background console. The uninstall page to work as expected.

Change History (7)

comment:1 Changed 16 months ago by Ross

  • Description modified (diff)

comment:2 Changed 16 months ago by sebastian

  • Owner set to sebastian
  • Priority changed from Unknown to P1
  • Ready set

comment:3 Changed 16 months ago by sebastian

  • Review URL(s) modified (diff)
  • Status changed from new to reviewing

comment:4 Changed 16 months ago by sebastian

This is caused by the new dataCorrupted parameter added in #6599. It can only be reproduced with the devbuilds from the Web Store because of the additional 5 characters in the version number (indicating the build number), causing the length of the uninstall URL to reach 256 characters.

For now, I'm just going to rename the parameter to corrupted. But we might want to consider to change all parameters to much shorter aliases (if we ever want to add new parameters in the future).

Last edited 16 months ago by sebastian (previous) (diff)

comment:6 Changed 16 months ago by sebastian

  • Milestone set to Adblock-Plus-3.1-for-Chrome-Opera-Firefox
  • Resolution set to fixed
  • Status changed from reviewing to closed

comment:7 Changed 16 months ago by Ross

  • Tester changed from Unknown to Ross
  • Verified working set

Fixed. Uninstall page now works again in Chrome 66 (and still works in other browsers).

ABP 3.0.4.2042
Firefox 59 / 55 / 51 / Windows 10
Chrome 66 / 58 / 49 / Windows 7
Opera 52 / 45 / 36 / Windows 10

Note: See TracTickets for help on using tickets.