https://redmine.stoutner.com/https://redmine.stoutner.com/favicon.ico?16699090422020-05-09T16:07:11ZStoutner - RedminePrivacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15352020-05-09T16:07:11ZSoren Stoutnersoren@stoutner.com
<ul><li><strong>Assignee</strong> set to <i>Soren Stoutner</i></li><li><strong>Priority</strong> changed from <i>Critical Bug</i> to <i>Next Release</i></li></ul><p>Can you provide the crash log? Also, what procedure did you use to update the list?</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15392020-05-11T11:41:28ZGiampiero Ammazzini
<ul></ul><p>05-11 13:36:57.393 D/AndroidRuntime( 4480): Shutting down VM<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): FATAL EXCEPTION: main<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): Process: com.stoutner.privacybrowser.standard, PID: 4480<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): java.util.regex.PatternSyntaxException: Unrecognized backslash escape sequence in pattern near index 41<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): /https?:\/\/.*.streamplay\.biz\/.*(\?|&|\<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): ^<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at java.util.regex.Pattern.compileImpl(Native Method)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at java.util.regex.Pattern.compile(Pattern.java:1433)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at java.util.regex.Pattern.<init>(Pattern.java:1408)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at java.util.regex.Pattern.compile(Pattern.java:966)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at java.util.regex.Pattern.matches(Pattern.java:1074)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at b.b.a.f.c.a(Unknown Source:4303)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at com.stoutner.privacybrowser.activities.MainWebViewActivity$d.shouldInterceptRequest(Unknown Source:529)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at android.webkit.WebViewClient.shouldInterceptRequest(WebViewClient.java:227)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at ib.a(PG:15)<br />05-11 13:36:57.394 E/AndroidRuntime( 4480): at org.chromium.android_webview.AwContentsBackgroundThreadClient.shouldInterceptRequestFromNative(PG:2)<br />05-11 13:36:57.443 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.<br />05-11 13:36:57.481 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.<br />05-11 13:36:57.513 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.<br />05-11 13:36:57.544 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.<br />05-11 13:36:57.566 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.<br />05-11 13:36:57.567 E/cr_AwBgThreadClient( 4480): Client raised exception in shouldInterceptRequest. Re-throwing on UI thread.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15402020-05-11T11:54:50ZGiampiero Ammazzini
<ul></ul><p>There are two kind of these entries inside easylist.txt :</p>
<p>/^https?:\/\/.*powvideo\.net\/.*(\?|&|\$|=|&|!)/$script,subdocument<br />/^https?:\/\/.*.streamplay\.biz\/.*(\?|&|\$|=|&|!)/$script,subdocument</p>
<p>Trying now if removing them fix the crash.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15412020-05-11T12:03:52ZGiampiero Ammazzini
<ul></ul><p>Browser doesn't crash anymore without those two entries, I think should be reported to easylist mantainers.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15422020-05-11T16:18:58ZSoren Stoutnersoren@stoutner.com
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Closed</i></li></ul><p>Yes, it looks like those entries are not valid Regular Expressions, at least as Android understands them. You should probably report it to EasyList, although I would recommend you check to make sure they haven't already taken care of it before you do.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15442020-05-11T17:07:57ZGiampiero Ammazzini
<ul></ul><p>Indeed, I asked them if they could provide an alternative syntax:</p>
<p><a class="external" href="https://github.com/easylist/easylist/issues/5338">https://github.com/easylist/easylist/issues/5338</a></p>
<p>Thank you.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15452020-05-12T03:49:10ZSoren Stoutnersoren@stoutner.com
<ul></ul><p>Looking at the error more closely, the problem is that the parser used by Privacy Browser is truncating the entry at the first `$`. Normally, EasyList uses a syntax where the `$` indicates the end of the URL and the beginning of the EasyList types. However, in the case of these two entries, the are two `$`, with the first one being part of the regular expression. Truncating at the first `$` causes the regular expression to be invalid, which causes the crash.</p>
<p>The easiest solution is to remove or modify these entries from EasyList before adding it to Privacy Browser. I already have to do that with a couple of other entries for different reasons as documented at <a class="external" href="https://www.stoutner.com/privacy-browser/blocklists/easylist/">https://www.stoutner.com/privacy-browser/blocklists/easylist/</a>. The more difficult solution is to get EasyList to modify these entries, as I have a hard time believing any of the URLs they are trying to block actually contain `$`. Rather, these regular expressions look like they were written by someone trying to catch all possible string combinations.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15472020-05-13T18:04:58ZGiampiero Ammazzini
<ul></ul><p>I saw that they changed them, but they not addressed the problem:</p>
<p>``/^https?:\/\/.*.(streamplay|steamplay).*\/.*[?&$=&!]/$script,subdocument<br />/^https?:\/\/.*(powvideo|powvldeo|povvideo).*\.*[?&$=&!]/$script,subdocument<br />/^https:\/\/([a-z]+\.)?sythe\.org\/\$.*[\w\W]{20,}/$image``</p>
<p>Plus we have now a third regex causing the problem, I have seen <a class="external" href="https://www.stoutner.com/privacy-browser/blocklists/easylist/">https://www.stoutner.com/privacy-browser/blocklists/easylist/</a> , maybe could be added as a case.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=15482020-05-14T02:52:53ZSoren Stoutnersoren@stoutner.com
<ul></ul><p>Yeah, I'll probably just have to delete those entries every time.</p> Privacy Browser Android - Bug #566: Updating Easylist.txt to latest available Crash PrivacyBrowserhttps://redmine.stoutner.com/issues/566?journal_id=31032023-08-14T15:39:12ZSoren Stoutnersoren@stoutner.com
<ul></ul><p>Note that all of these problematic entries were eventually removed upstream by EasyList.</p>