Wine 4.5 issues with CSS HTML Validator

Questions about Wine on macOS.
Locked
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

I'm mostly unfamiliar with Wine. I'd like to get my Windows application (CSS HTML Validator) working with it.

A trial version can be downloaded here:
https://www.htmlvalidator.com/css-html- ... -setup.exe

There are two "major" issues when I try using Wine 4.5 to run this on my MacBook (OS X 10.14.4):

1. The link checker doesn't work properly and the check for updates feature doesn't work. When doing an update check (Help->Check for Updates) I see the HTTPS request on my server but the program seems to ignore the response. A Linux user using Wine reports that it works fine... but it's not working fine on Mac OS X.

2. If you try to check a JavaScript (*.js) file with JSLint or JSHint, the program uses node.exe but node.exe crashes. See attached file. Ooops... the forum won't let me attach so I'll include it in this post (below).

Any ideas? Wine 4.0 also seems to have these issues... going to 4.5 didn't fix them.

Code: Select all

Unhandled exception: page fault on read access to 0x00000020 in 64-bit code (0x0000000140c928b6).
Register dump:
 rip:0000000140c928b6 rsp:000000000065fdc0 rbp:000000000065ffd0 eflags:00010246 (  R- --  I  Z- -P- )
 rax:0000000000000000 rbx:0000000000000001 rcx:0000000000000000 rdx:00000001416cc628
 rsi:0000000000000000 rdi:000000000065fe68  r8:00000001416ec950  r9:000000000065fd80 r10:00002a1f16eb7781
 r11:0000000000000000 r12:0000000000000000 r13:0000000000000000 r14:0000000000072870 r15:0000000000000000
Stack dump:
0x000000000065fdc0:  0000000000000000 0000000000000000
0x000000000065fdd0:  0000000000000005 0000000000000005
0x000000000065fde0:  0000000000072870 0000000140c817fe
0x000000000065fdf0:  0000000000000000 0000000000000000
0x000000000065fe00:  0000000000000000 0000000000000000
0x000000000065fe10:  0000000140c817d0 000000007bc81ae2
0x000000000065fe20:  0000000000000000 0000000000000000
0x000000000065fe30:  0000000000000000 0000000000000000
0x000000000065fe40:  0000000000000000 ffffffffffffffff
0x000000000065fe50:  000000007bca4e20 000000007bc39a80
0x000000000065fe60:  0000000000000000 0000000140c817d0
0x000000000065fe70:  3e77b6ed26927387 3e77b6ed26927277
Backtrace:
=>0 0x0000000140c928b6 EntryPoint+0x100029f9e() in node (0x000000000065ffd0)
  1 0x0000000140c817fe EntryPoint+0x100018ee5() in node (0x000000000065ffd0)
0x0000000140c928b6 EntryPoint+0x100029f9e in node: movq	0x0000000000000020(%rax),%rcx
Modules:
Module	Address					Debug info	Name (24 modules)
PE	        681f0000-        681f4000	Deferred        psapi
PE	        68750000-        68754000	Deferred        dbghelp
PE	        687c0000-        687c4000	Deferred        version
PE	        687e0000-        687e3000	Deferred        userenv
PE	        6a210000-        6a214000	Deferred        advapi32
PE	        6a2a0000-        6a388000	Deferred        user32
PE	        6a510000-        6a517000	Deferred        gdi32
PE	        6a6a0000-        6a6a4000	Deferred        iphlpapi
PE	        6a6d0000-        6a6d4000	Deferred        ws2_32
PE	        6a720000-        6a724000	Deferred        bcrypt
PE	        6a740000-        6a744000	Deferred        rpcrt4
PE	        6a7f0000-        6a7f3000	Deferred        api-ms-win-core-synch-l1-2-0
PE	        6b010000-        6b053000	Deferred        crypt32
PE	        6b110000-        6b189000	Deferred        winmm
PE	        6b1e0000-        6b208000	Deferred        ole32
PE	        6b390000-        6b399000	Deferred        msacm32
PE	        6b460000-        6b464000	Deferred        imm32
PE	        6b490000-        6b493000	Deferred        api-ms-win-core-fibers-l1-1-1
PE	        6b4a0000-        6b4a3000	Deferred        api-ms-win-core-localization-l1-2-1
PE	        6b4c0000-        6b4c3000	Deferred        powrprof
PE	        7b410000-        7b5c1000	Deferred        kernel32
PE	        7bc10000-        7bc14000	Deferred        ntdll
ELF	        7c400000-        7c405000	Deferred        <wine-loader>
PE	       140000000-       1417d5000	Export          node
Threads:
process  tid      prio (all id:s are in hex)
0000000e services.exe
	0000003b    0
	00000020    0
	0000001b    0
	00000013    0
	00000010    0
	0000000f    0
00000011 winedevice.exe
	00000018    0
	00000017    0
	00000016    0
	00000012    0
00000019 plugplay.exe
	0000001d    0
	0000001c    0
	0000001a    0
0000001e winedevice.exe
	00000025    0
	00000022    0
	00000021    0
	0000001f    0
00000023 explorer.exe
	00000028    0
	00000027    0
	00000026    0
	00000024    0
00000031 cse190.exe
	0000005e    0
	0000005c    0
	0000005b    0
	0000005a    0
	00000059    0
	00000058    0
	00000057    0
	00000056    0
	00000055    0
	00000054    0
	00000053    0
	00000052    0
	00000051   -1
	00000050   -1
	0000004f    0
	0000004e    0
	0000004d    0
	0000004c    0
	0000004b    0
	0000004a    0
	00000049    0
	00000048    0
	00000047    0
	00000046    0
	00000045    0
	00000044    0
	00000043    0
	00000033    0
	00000032    0
00000039 rpcss.exe
	00000040    0
	0000003f    0
	0000003e    0
	0000003d    0
	0000003c    0
	0000003a    0
0000005f (D) C:\Program Files\HTMLValidator190\Node.js\node.exe
	00000063    0 <==
	00000062    0
	00000061    0
	00000060    0
System information:
    Wine build: wine-4.5
    Platform: x86_64
    Version: Windows 7
    Host system: Darwin
    Host version: 18.5.0
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by Gcenx »

Terminal output would have been better then th backtracks but you said https request and it works on Linux but not macOS.

That sounds like it related to the macOS wine compilers lack of Gnutls support at compile time.
If you want confirm that grab a CrossOver18.5.0 trial, CrossOver is built with Gnutls support and also ships a copy.
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

Gcenx wrote:Terminal output would have been better then th backtracks but you said https request and it works on Linux but not macOS.

That sounds like it related to the macOS wine compilers lack of Gnutls support at compile time.
If you want confirm that grab a CrossOver18.5.0 trial, CrossOver is built with Gnutls support and also ships a copy.
Yes, a customer says it works with Wine on Linux but if I use the 'Open from the Web' function to open an HTTPS URL then it works. This function uses the same component as update checking.... but this works and update checking does not.

The message that appears in the Terminal when I do an update check is:

Code: Select all

002a:fixme:winsock:set_dont_fragment IP_DONTFRAGMENT for IPv4 not supported in this platform
But that message also appears when I use the 'Open from the Web' function to open a URL which DOES work.

And the program is successfully connecting to my server to do the update check because I see it in the logs... but my program does not seem to be getting the event that indicates the HTTPS request is done.
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by Gcenx »

Did you test this using a trial of CrossOver? As that does include working Gnutls support so it’s an quick and easy way to check if that solves the problem.

If it does function after within CrossOver then it’s not to difficult to replace afew files within a portable Winehq release.
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

No, I have not yet tested with CrossOver. I will put that on my to-do list and post back when I've tested.
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

Gcenx wrote:Did you test this using a trial of CrossOver? As that does include working Gnutls support so it’s an quick and easy way to check if that solves the problem.

If it does function after within CrossOver then it’s not to difficult to replace afew files within a portable Winehq release.
Tried it just now. I reproduced the exact same problems in CrossOver. I used the trial version.

So where should I go from here? I suspect that the problem is easily reproducible by downloading the trial version of my application and running it with Wine on a Mac.

Did anyone download the trial version of my app and confirm these problems?
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

UPDATE: I was able to confirm that Wine 4.0 on Linux Mint 19.1 does not have either of these problems... so this definitely seems to be a problem with Wine on MacOS.
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by Gcenx »

HTMLValidator wrote:
Gcenx wrote:Did you test this using a trial of CrossOver? As that does include working Gnutls support so it’s an quick and easy way to check if that solves the problem.

If it does function after within CrossOver then it’s not to difficult to replace afew files within a portable Winehq release.
Tried it just now. I reproduced the exact same problems in CrossOver. I used the trial version.

So where should I go from here? I suspect that the problem is easily reproducible by downloading the trial version of my application and running it with Wine on a Mac.

Did anyone download the trial version of my app and confirm these problems?
I installed it onto my system, it thinks the update server is down? I'm guessing that's the issue you experienced. I got that error testing with CrossOver18.5.0

As for the other crash, could you provide files that you know that give the crash?
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

Gcenx wrote:I installed it onto my system, it thinks the update server is down? I'm guessing that's the issue you experienced. I got that error testing with CrossOver18.5.0
Thanks for trying it and confirming.

Yep, that's it. I see the request on my server but the app never processes the response and thinks the update server is down.... and the link checker doesn't work either, probably due to a related issue. The event function in my app that is suppose to be called when the HTTPS update check request is complete is never called on the Mac.
Gcenx wrote:As for the other crash, could you provide files that you know that give the crash?
This file crashes:
https://www.htmlvalidator.com/bugs/node.zip

It works on Ubuntu though (doesn't crash), as does the other issue.
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by Gcenx »

HTMLValidator wrote:
Gcenx wrote:I installed it onto my system, it thinks the update server is down? I'm guessing that's the issue you experienced. I got that error testing with CrossOver18.5.0
Thanks for trying it and confirming.

Yep, that's it. I see the request on my server but the app never processes the response and thinks the update server is down.... and the link checker doesn't work either, probably due to a related issue. The event function in my app that is suppose to be called when the HTTPS update check request is complete is never called on the Mac.
Gcenx wrote:As for the other crash, could you provide files that you know that give the crash?
This file crashes:
https://www.htmlvalidator.com/bugs/node.zip

It works on Ubuntu though (doesn't crash), as does the other issue.
I can try again now that I fixed my setup. (packages.macports a broken copy of Gnutls)
Thinking it over this could be due to the macOS builds use Apples network framework over OpenSSL that’s used on Linux. And the Winehq builds at least are compiled using the 10.8SDK without Gnutls support.
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

Gcenx wrote:I can try again now that I fixed my setup. (packages.macports a broken copy of Gnutls)
Thinking it over this could be due to the macOS builds use Apples network framework over OpenSSL that’s used on Linux. And the Winehq builds at least are compiled using the 10.8SDK without Gnutls support.
OK, thanks. Glad you got your setup fixed.

The program uses its own SSL/TLS DLLs though... so would the things you mention really be necessary?

Plus... the program does successfully make a connection to my server for the update check and I can see the response that is sent back, and it works when one uses 'Open from the Web' with an HTTPS link.

So it is strange to me that I can open 'https://www.htmlvalidator.com/' but the update checker which uses the same component to contact the same website (via a https link) doesn't work.
Gcenx
Level 6
Level 6
Posts: 709
Joined: Mon Dec 25, 2017 12:11 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by Gcenx »

HTMLValidator wrote:
Gcenx wrote:I can try again now that I fixed my setup. (packages.macports a broken copy of Gnutls)
Thinking it over this could be due to the macOS builds use Apples network framework over OpenSSL that’s used on Linux. And the Winehq builds at least are compiled using the 10.8SDK without Gnutls support.
OK, thanks. Glad you got your setup fixed.

The program uses its own SSL/TLS DLLs though... so would the things you mention really be necessary?

Plus... the program does successfully make a connection to my server for the update check and I can see the response that is sent back, and it works when one uses 'Open from the Web' with an HTTPS link.

So it is strange to me that I can open 'https://www.htmlvalidator.com/' but the update checker which uses the same component to contact the same website (via a https link) doesn't work.
Me too, broken Gnutls was breaking wine.....

Well the thing with wine is it will always use its own files over a native file, so unlike Windows where a program can use the dll provided within its own directly is not the case with wine, the native file will be ignored in favor of a wine .dll if it exists.

What you could do it open winecfg and set overrides for the dll files you provide setting them to native that might help.
HTMLValidator
Level 1
Level 1
Posts: 8
Joined: Thu Apr 04, 2019 6:04 pm

Re: Wine 4.5 issues with CSS HTML Validator

Post by HTMLValidator »

Gcenx wrote:Well the thing with wine is it will always use its own files over a native file, so unlike Windows where a program can use the dll provided within its own directly is not the case with wine, the native file will be ignored in favor of a wine .dll if it exists.

What you could do it open winecfg and set overrides for the dll files you provide setting them to native that might help.
Been a busy Easter week... but I'm back now.

My app only comes with 2 OpenSSL DLLs for HTTPS support. I doubt Wine even provides their own version of those DLLs but I tried configuring Wine to use the native version of them anyway and there was no change.

So no go. :(
Locked