Desktop: Windows: NextCloud Desktop Client Should Have Better Exception Handling From QT5 or GDI.

Created on 27 Feb 2019  路  13Comments  路  Source: nextcloud/desktop

Expected behaviour

Application should either render the page or is should log an even in the EventViewer logs.

Actual behaviour

The application terminates with the world's most generic exception: "_LoadLibrary failed with error 87: The parameter is incorrect._"

Steps to reproduce

  1. Install NextCloud on a machine with an ATI FirePro V (FireGL V) Graphics Adapter
  2. Attempt to launch NextCloud.
  3. Be amazed at the the lacklustre exception message returned to the user.

Client configuration

Client version: 2.5.1.61652
Operating system: Windows 10 x64 (1809 - 17763.316)
OS language: en-GB
Installation path of client: "C:\Program Files (x86)\Nextcloud\nextcloud.exe"
Graphics Driver Version: 15.201.1151.1008

Logs

Stack from Windbg, after attaching adplus (using the pmn parameter):

0:000> kncL
 # Child-SP          RetAddr           Call Site
00 0000005e`cd4fde28 00007ff8`5c056db8 ntdll!NtTerminateProcess+0x14
01 0000005e`cd4fde30 00007ff8`5b35d3ba ntdll!RtlExitUserProcess+0xb8
02 0000005e`cd4fde60 00007ff8`416f4e48 kernel32!ExitProcessImplementation+0xa
03 0000005e`cd4fde90 00007ff8`416f526e atig6pxx+0x4e48
04 0000005e`cd4fe050 00007ff8`12aa866c atig6pxx!DrvValidateVersion+0x16
05 0000005e`cd4fe080 00007ff8`12aa8a7d opengl32!pgldrvLoadAndAllocDriverInfo+0x23c
06 0000005e`cd4fe110 00007ff8`12ac2ca9 opengl32!LoadAvailableDrivers+0x39d
07 0000005e`cd4fe790 00007ff8`12ac2055 opengl32!wglDescribePixelFormat+0x139
08 0000005e`cd4fe8c0 00007ff8`584d4c79 opengl32!wglChoosePixelFormat+0x85
09 0000005e`cd4fe970 00007ff8`1269eeb0 gdi32full!ChoosePixelFormat+0x39
0a 0000005e`cd4fe9a0 00007ff8`1269d540 qwindows+0x3eeb0
0b 0000005e`cd4feaf0 00007ff8`1269eba6 qwindows+0x3d540
0c 0000005e`cd4fedb0 00007ff8`1266c48b qwindows+0x3eba6
0d 0000005e`cd4fee50 00007ff8`1266cdba qwindows+0xc48b
0e 0000005e`cd4feeb0 00007ff8`1266ba5c qwindows+0xcdba
0f 0000005e`cd4feee0 00007ff8`0e2c4d20 qwindows+0xba5c
10 0000005e`cd4fef50 00007ff8`09d27770 Qt5Gui!QOpenGLContext::create+0x30
11 0000005e`cd4fef80 00007ff8`0de512da Qt5WebEngineCore!QtWebEngineCore::initialize+0x120
12 0000005e`cd4fefd0 00007ff8`0e28bd4d Qt5Core!QCoreApplicationPrivate::init+0x52a
13 0000005e`cd4ff090 00007ff8`12e935cf Qt5Gui!QGuiApplicationPrivate::init+0x3d
14 0000005e`cd4ff2f0 00007ff8`12e8f8bb Qt5Widgets!QApplicationPrivate::init+0xf
15 0000005e`cd4ff320 00007ff7`5c311aa7 Qt5Widgets!QApplication::QApplication+0x5b
16 0000005e`cd4ff350 00007ff7`5c2639d4 nextcloud+0xc1aa7
17 0000005e`cd4ff460 00007ff7`5c251878 nextcloud+0x139d4
18 0000005e`cd4ff790 00007ff7`5c326524 nextcloud+0x1878
19 0000005e`cd4ff9e0 00007ff7`5c3259c2 nextcloud+0xd6524
1a 0000005e`cd4ffa70 00007ff8`5b3581f4 nextcloud+0xd59c2
1b 0000005e`cd4ffab0 00007ff8`5c05a251 kernel32!BaseThreadInitThunk+0x14
1c 0000005e`cd4ffae0 00000000`00000000 ntdll!RtlUserThreadStart+0x21

NOTE: .\nextcloud.exe -logwindow and .\nextcloud.exe -logfile log.txt produce nothing; assuming because this is thrown on init of the .ctor(). This is the principal reason for opening this bug, as the error context returned to the end-user is moot; especially, if the user has no idea what to look for or what LoadLibrary even remotely does.

enhancement

Most helpful comment

RDP is now a way of life due to COVID. 6 months in, and I'm surprised more people haven't said something.

So yes, this is still a massive issue with the 3.0.1 Client.

All 13 comments

I also recieve the "LoadLibrary failed with error XY" error message on my father's computer. But it depends on the context:
Starting Nextcloud SyncClient

  • at console: OKAY, no errors
  • via Remote Desktop: ERROR: LoadLibrary failure message

If I connect via remote desktop and take over an existing console session, the error message appears immediately. Restarting the app results in the error message immediately, too.

Re-connecting to the user session directly at console and restarting the nextcloud sync client immediately starts without error.

Computer system:

  • Windows 10 with latest updates
  • Nextcloud with latest updates

Is this exception really just for "better error message explanation" or is it primary or secondary to solve the LoadLibrary exceptions?! If yes, label "bug" instead of/additional to "enhancement" would be appreciated.

@JochenHWezel - The error is thrown because a native call is made to load the video driver assembly (assemblies). You can see an overview of LoadLibrary here.

Because QT nor GDI wrap the call, nor have they any exception handlers for this condition, the program terminates with the exception.

In principal, NextCloud could catch this condition but that would have to be somewhere like frame 16 of the stack in my initial comment.

The reason why it fails in the remote desktop session context and works in console context, in your case, is because both depend on differing video drivers to drive the screen rendering of the GUI.

Just some info in case anyone else still has this error and finds this thread:

I was getting this exact error, but only when I RDP (Remote Desktop) into a system and open the nextcloud client. Opening it when I was logged in locally, I had no problems.

I was able to fix it by re-installing my AMD FirePro m5950 video card drivers. Re-installing your video card drivers may fix this issue for you.

Nextcloud client is crashing when started with remote desktop for me as well.

As a workaround, I closed the remote desktop session just after logging in and waited a few minutes to let Nextcloud client initialize without remote access display. After that I could use it without problem.

I have the same error "LoadLibrary failed with error 87: Falscher Parameter", if I connect to my Workstation PC with Windows Remote Desktop (mstsc.exe) and login on Windows 10. If I login local from my company, there are no errors. Nextcloud Client Version 2.6.4.

This should marked as bug.

Same error!

Same error!

Same error!

What video card / drivers / hardware? Is it ATI/AMD video? Did you re-install the drivers?

Still the same error when using RDP Windows 10 Version 2.6.4 in June 2020

Same problem when using RDP to Windows 10 with a ATI/AMD Graphics card

RDP is now a way of life due to COVID. 6 months in, and I'm surprised more people haven't said something.

So yes, this is still a massive issue with the 3.0.1 Client.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

nilsbecker picture nilsbecker  路  3Comments

DBLouis picture DBLouis  路  3Comments

despens picture despens  路  3Comments

Engineer-of-Stuff picture Engineer-of-Stuff  路  3Comments

jospoortvliet picture jospoortvliet  路  4Comments