Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest CI build very slow to open some docset #532

Closed
kailiu42 opened this issue Apr 15, 2016 · 22 comments
Closed

Latest CI build very slow to open some docset #532

kailiu42 opened this issue Apr 15, 2016 · 22 comments

Comments

@kailiu42
Copy link

When trying the latest CI build (zeal-unstable-0.2.1-146-gac2225b) I found that when click on some docsets the zeal window just freeze for a long time, probably 20 seconds or longer. At the end it still opens the doc. If switch to another to another doc and back, it has high chance to still freeze for a long time.

I noticed at least docker and font awesome doc have the issue. There is no such problem in 0.2.1. I've redownloaded the two docsets but it is still the same.

@kailiu42
Copy link
Author

I've tested the latest builds (as below) so far on bintray and the issue is still there.

  • zeal-stable-0.3.0-windows-x86.zip
  • zeal-unstable-0.3.0-1-g0e6d4ff-windows-x86.zip

@trollixx
Copy link
Member

trollixx commented Sep 27, 2016 via email

@kailiu42
Copy link
Author

I'm sorry I didn't get your question. The problem is when click on fontawesome(and some other docsets) entry on the left of main window, the window will freeze for a few seconds. It will eventually recover but when switch back from other docset to fa it happens again.

When no docsets installed there is no such way to test.

@trollixx
Copy link
Member

Oh, I see. I didn't re-read the original message before to replying to your today's one.

I bet the problem is with Qt WebKit. I'll try to prepare a build with the new Qt WebKit, so we could see if the problem will go away. Not sure how log it will take.

@kailiu42
Copy link
Author

Do you mind put Windows build instructions in Wiki? So I can build zeal agains Qt 5.6.x and new Qt Webkit and test.

@trollixx
Copy link
Member

The new Qt WebKit requires MSVC. Zeal should build with VS 2015, but I haven't tried that yet. I'll update the wiki once have something to put there.

The basic instruction is to compile libarchive, and then use Qt Creator or qmake directly to build Zeal.

@kailiu42
Copy link
Author

kailiu42 commented Oct 1, 2016

I've found out that commit 23aac1a is the cause of this issue by using git bisect.

Since commit 23aac1a is about allowing online resource access, I've tested v0.3.0 with network disconnected. No more problem, fontawesome docset opens quickly.

It seems fontawesome docset links to online resources while for some reason Zeal opens them slowly (probably due to network connectivity) in a blocking way, thus freezes the main window.

Maybe a offline mode that behaves in the old offline way can be helpful.

@trollixx
Copy link
Member

trollixx commented Oct 3, 2016 via email

@kailiu42
Copy link
Author

kailiu42 commented Oct 5, 2016

I'm trying to compile Zeal against Qt 5.7.0 & new Qt WebKit TP4. But I got below error in QtCreator.

I already have libarchive built and the archive_static.lib file placed in the .lib directory of Zeal build directory. Before I put libarchive in .lib the error message was about unable to find file archive_static.lib.

linking ..\..\bin\zeal.exe 
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_new referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_support_filter_all referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_support_format_all referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_open_filename referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_next_header referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_extract referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_extract_set_progress_callback referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_read_free referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_filter_bytes referenced in function "private: static void __cdecl Zeal::Core::Extractor::progressCallback(void *)" (?progressCallback@Extractor@Core@Zeal@@CAXPAX@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_error_string referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_entry_pathname_w referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Core.lib(extractor.obj) : error LNK2019: unresolved external symbol __imp__archive_entry_set_pathname referenced in function "public: void __thiscall Zeal::Core::Extractor::extract(class QString const &,class QString const &,class QString const &)" (?extract@Extractor@Core@Zeal@@QAEXABVQString@@00@Z)
Ui.lib(qxtglobalshortcut_win.obj) : error LNK2019: unresolved external symbol __imp__RegisterHotKey@16 referenced in function "private: static bool __cdecl QxtGlobalShortcutPrivate::registerShortcut(unsigned int,unsigned int)" (?registerShortcut@QxtGlobalShortcutPrivate@@CA_NII@Z)
Ui.lib(qxtglobalshortcut_win.obj) : error LNK2019: unresolved external symbol __imp__UnregisterHotKey@8 referenced in function "private: static bool __cdecl QxtGlobalShortcutPrivate::unregisterShortcut(unsigned int,unsigned int)" (?unregisterShortcut@QxtGlobalShortcutPrivate@@CA_NII@Z)
..\..\bin\zeal.exe : fatal error LNK1120: 14 unresolved externals

@RenaldasK
Copy link

Updated to 0.3.0 and all of the searches take forever, previous version was fast.

@trollixx
Copy link
Member

trollixx commented Oct 8, 2016

@Kraml you need libarchive.

@RenaldasK What exactly takes forever - search itself or opening a page? This issue is about a slowdown during when a page is loaded.

@kailiu42
Copy link
Author

kailiu42 commented Oct 9, 2016

@trollixx have you read my feedback?

@trollixx
Copy link
Member

trollixx commented Oct 9, 2016

@Kraml I need to improve my comprehension skills :) I assume you built libarchive with the same compliler, so perhaps MSVC requires some additional flags, not sure.

Most likely URLs without scheme cause this issue. Zeal accesses files via file:// scheme, and URLs like //domain.name/somepath result in requests to CIFS network paths. And Windows always stupidly hangs for a long time, when trying to access some non-existent network share.

I think I have a quick fix, checking it out...

@kailiu42
Copy link
Author

kailiu42 commented Oct 9, 2016

Yes I've built libarchive on the same machine with the same MSVC compiler I used to built Zeal. All following the instructions from libarchive official wiki. This machine is a clean Win7 VM with no other software but MSVC 2015 installed.

When building Zeal + libarchive with msys2/mingw on my regular laptop Win10 I have no such problem. However as the new Qt Webkit requires MSVC to build I cannot try it with msys2.

On the other hand I've built Qt 5.7.0 with its bundled Webkit(released in a separate src package) by msys2 and compiled Zeal against it. Building process went fine, but the problem persists.

trollixx added a commit to trollixx/zeal that referenced this issue Oct 9, 2016
This change adds back a custom network access manager, that was removed
as a fix for zealdocs#474. Although this time the URL validation logic is much
more simple.
@trollixx
Copy link
Member

trollixx commented Oct 9, 2016

@Kraml, could you give this change a try?

trollixx added a commit to trollixx/zeal that referenced this issue Oct 9, 2016
This change adds back a custom network access manager, that was removed
as a fix for zealdocs#474. Although this time the URL validation logic is much
more simple.
@kailiu42
Copy link
Author

kailiu42 commented Oct 9, 2016

Yes it fixed the problem.

@trollixx
Copy link
Member

trollixx commented Oct 9, 2016

Great! I'll prepare 0.3.1 shortly. Only one more regression to fix (#604).

@trollixx trollixx added this to the 0.3.1 milestone Oct 9, 2016
@trollixx trollixx self-assigned this Oct 9, 2016
@kailiu42
Copy link
Author

kailiu42 commented Oct 9, 2016

Thanks.

@RenaldasK
Copy link

Any chance of getting a new installer to download from the website? That would be much appreciated.

@annulen
Copy link

annulen commented Nov 25, 2016

@Kraml FYI, we are working on MinGW support in new QtWebKit, it already builds in a branch. All necessary changes will be included into the next release, and there will be binaries produced in Qt CI.

@kailiu42
Copy link
Author

@annulen Just noticed that the TP5 release supported MinGW, however Zeal don't start when linked to it. Please see my issue #691.

@lock
Copy link

lock bot commented Sep 16, 2018

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot locked and limited conversation to collaborators Sep 16, 2018
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

4 participants