Skip to main content
Topic: The big errors (Read 8433 times)

The big errors

By big errors I mean those that prominently display

Error [number]

Thus far I have had:

Code: [Select]
Error 4
Socket operation timed out

This seems to be the ordinary network unreachable error)

Code: [Select]
Error 8
The specified configuration cannot be used.

Also some kind of network error, but with added nastiness - the tab becomes unusable. To still go to the address in the address field, the workaround is to duplicate the tab.

And today
Code: [Select]
Error 99
Unknown error

This error still permitted a simple refresh and the tab continued to work alright.

Error 8 and 99 I have encountered at Vivaldi.net

Re: The big errors

Reply #1
@ersi, we could try to debug it using this property:
https://qt-project.org/doc/qt-5/qwebpage-errorpageextensionoption.html#domain-var
https://qt-project.org/doc/qt-5/qwebpage.html#ErrorDomain-enum
But that would require custom build...

Error 99 seems to come from QtNetwork:
Quote
QNetworkReply::UnknownNetworkError   99   an unknown network-related error was detected


In case of error 8 it could be:
Quote
QNetworkReply::NetworkSessionFailedError    8   the connection was broken due to disconnection from the network or failure to start the network.


And error 4 seems to be:
Quote
QNetworkReply::TimeoutError   4   the connection to the remote server timed out


If errors 8 and 99 are easily reproducible then we should report them upstream.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #2

Okay, to summarise, Error 4 is a common network error. 8 and 99 less common network errors, and 8 has some noticeable characteristics that set it apart from mere network error. I have encountered 8 and 99 only at Vivaldi.net

Unfortunately I am not in position yet to even think of making my own custom build for extra testing. I am slowly figuring out what this means, and perhaps in two months, when I have vacation, I will be able to make my own first build of anything. Thanks to your instructions in other threads, Emdek, and thanks to the little editable sripts in AUR when I install Otter, I will eventually make it, maybe.

Re: The big errors

Reply #3
Right now I had a different Error 99: Invalid argument.

Is it normal that an error changes its message? (Earlier I reported Error 99 as Unknown error)

Re: The big errors

Reply #4
@ersi, this is possible, message could be used as additional context or this error came from different layer which uses the same number (possible for QtNetwork and WebKit errors).

Update:
Now these errors are logged to console, showing in which domain they happened.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #5
Now I found a funny one:

Error 200
OK

Re: The big errors

Reply #6
@ersi, is it reproducible?
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #7
It's unspecifiable. It occurs randomly at network connection difficulties.

Re: The big errors

Reply #8
I find that on http://delijn.be/ Otter gives an "Error 2" instead of quietly redirecting to https://delijn.be/ like any other browser. I assume it's a QtWebkit issue, because Midori says
Quote from: Midori
Error - http://delijn.be/

The page 'http://delijn.be/' couldn't be loaded.

Message Corrupt


I don't know if it's an issue with that specific site or a more general one. If it's not present in QtWebEngine let's forget about it. :P

Re: The big errors

Reply #9
@ersi, there was similar issue (AFAIR related to WiFi) which should be fixed in newer versions of Qt.

@Frenzie, it might be worth reporting upstream, if Midori has similar issue then it might be something more generic, maybe malformed reply or something like that.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #10
Error 400
Redirection limit reached

Re: The big errors

Reply #11
The error in the previous post appears rather consistently at a server after tinkering with cookie settings and other privacy settings recently. At another server I consistently get this error:
Code: [Select]
Bad Request

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
Cookie
/n

The specific tinkering involved was to set cookies off and then allow them in website preferences. Looks like something else gets affected too, the servers don't like it, and I don't know how to get them back to respond kindly.

Re: The big errors

Reply #12
@ersi, could you please check list of cookies for that server (can be seen in Website Preferences)?
Maybe it's bigger or something like that?
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #13
So, about the two latest errors that severely bug me and prevent usage of websites. The problems began when I disabled cookies and allowed them selectively for certain websites.

First this:
Code: [Select]
Bad Request

Your browser sent a request that this server could not understand.
Size of a request header field exceeds server limit.
Cookie
/n

I tried deleting and recollecting cookies. Nothing worked, but the website is working again now. Maybe they changed something on their side. In private window and with a fresh profile (default settings) the website always worked.

Then this, on another website
Code: [Select]
Error 400
Redirection limit reached

My ideas are up. The website only works in fresh profile with default settings and in private window. Looks like I have to begin re-building my profile again from scratch because of this single website.

Re: The big errors

Reply #14
A serious correction. The cookie/header bad request error has not disappeared. It has simply moved on and appears after more clicks on the website than just the first few. It's present in some indispensable websites such as Github and Transifex. Trying to work myself past this problem now.

Re: The big errors

Reply #15
@ersi, I've created small patch to output contents of cookies header and list of cookies for main request of each page load to terminal.
You can save it as patch.diff, place it in the main directory of source tree and run:
Code: [Select]

patch -p1 < patch.diff

And then recompile and run from terminal.

Code: [Select]
diff --git a/src/modules/backends/web/qtwebkit/QtWebKitNetworkManager.cpp b/src/modules/backends/web/qtwebkit/QtWebKitNetworkManager.cpp
index cc142fb..c804028 100644
--- a/src/modules/backends/web/qtwebkit/QtWebKitNetworkManager.cpp
+++ b/src/modules/backends/web/qtwebkit/QtWebKitNetworkManager.cpp
@@ -461,6 +461,9 @@ QNetworkReply* QtWebKitNetworkManager::createRequest(QNetworkAccessManager::Oper
if (!m_baseReply)
{
m_baseReply = reply;
+
+ qDebug() << "cookies header for" << reply->url().toString() << "\n" << reply->request().rawHeader("Cookie");
+ qDebug() << "cookies:" << m_cookieJarProxy->cookiesForUrl(reply->url());
}

m_replies[reply] = qMakePair(0, false);
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #16
Thanks, but what is "source tree"? And what does it mean to "recompile"?

EDIT: The way I install and update Otter these days is to take the otter-browser-git PKGBUILD file, put it in a folder, then cd to that folder and run makepkg, which is an Arch thing that executes everything written in PKGBUILD file. This builds (compiles?), without any further intervention, the most update Otter package for me, which I can install with pacman (Arch equivalent of Debian's apt-get).

This process leaves behind traces like this:

- otter-browser directory
- otter-browser-git-0.9.{blabla}.pkg.tar.xz installable package
- pkg directory
- src directory <-- is this the source tree where I am supposed to put the patch?

And how should I recompile?

Re: The big errors

Reply #17
@ersi, I'm not familiar with PKGBUILD, so I suggest to bypass it in this case, producing local binary file without installing.
You will need to follow these steps:
1. clone source tree:
Code: [Select]
git clone git://github.com/OtterBrowser/otter-browser.git

2. go to otter-browser directory and create file containing patch as patch.diff;
3. apply patch:
Code: [Select]
patch -p1 < patch.diff

4. execute commands to build binary file:
Code: [Select]
mkdir build
cd build
cmake ../
make

5. go to build directory and execute ./otter-browser from terminal.

Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #18
Thanks for the patch, but unfortunately it's not working all the way. Transifex is worst. Transifex only works in private tab. In normal tabs, no matter how I set the cookies and referrers both site-specifically and globally, Transifex gives
Code: [Select]

400 Bad Request
Request Header Or Cookie Too Large
nginx

or sometimes
Code: [Select]

400 Bad request
Your browser sent an invalid request.


Github began working though. Not sure if because of the patch.

With another website I need to use, it works fine in private tab, and it works in normal tab when global cookies are generously enabled. In normal tab with site-specific permissive settings, it gives
Code: [Select]

Error 400
Redirection limit reached



I applied the patch as you instructed. I did
Code: [Select]

git clone git://github.com/OtterBrowser/otter-browser.git
cd otter-browser

Then I took your patch text and saved it as the file patch.diff. Then
Code: [Select]

patch -p1 < patch.diff

It informed me that the patch was applied.

Then proceeded to build the package. I only modified the cmake command as PKGBUILD instructs
Code: [Select]

cmake -DCMAKE_INSTALL_PREFIX="/usr" ../

Otherwise it was precisely according to your instructions, and I launched Otter and got the results I reported.

Transifex has been a bad offender already earlier. I doubt it can be fixed. With cookies globally enabled, Transifex doesn't show up in my old Otter profile at all. With cookies enabled only site-specifically, I can see the first page, but any next click gives an error. As said, it works in private tab though, so I have access to translations. (Long time since I had time for the translation, and now it's harder than ever.)

Re: The big errors

Reply #19
@ersi, I think that we have small misunderstanding here, this patch is supposed to only output debug information (list of cookies and header sent to server), not fixing the issue. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #20
Indeed, I thought patches were meant to fix things. So on to the next question: How to "output debug information"?

EDIT: Is it so that I launch Otter by ./otter-browser, go to the websites, and observe what's going on in the terminal? The output is in the terminal?

Re: The big errors

Reply #21
@ersi, yeah, output is sent to terminal.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.

Re: The big errors

Reply #22
And what do I do with the output? Decipher it or send to you to be deciphered?

Re: The big errors

Reply #23
Looks like the Bad Request cookie problem (error 400 on the server side) is spreading. Vivaldi is giving it now too.

To be clear again, the kind of errors I am talking about appear when cookies are disabled globally, but enabled site-specifically.

Re: The big errors

Reply #24
@ersi, we can try to investigate it on IRC.
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.