Alex313031 / Thorium-Win

Chromium fork for Windows named after radioactive element No. 90; Windows builds of https://github.com/Alex313031/Thorium
https://thorium.rocks/
BSD 3-Clause "New" or "Revised" License
1.39k stars 36 forks source link

Thorium crashes with SSE4 version even though CPU supports SSE4.2 #16

Closed gitoss closed 1 year ago

gitoss commented 2 years ago

Thorium is great and I'm using the portable AVX2 version on my desktop computer.

However, the non-AVX2 (but SSE4) version 106.0.5237.0 version with the exact same setup crashes with 0xc0000142 on my Celeron N3350 laptop with error message 0xc0000142. The very same non-AVX2 version runs just fine when starting on my desktop computer. https://github.com/Alex313031/Thorium-Win/releases/tag/M106.0.5237.0

I tried Thorium Special SSE3 (last Win release M105.0.5172.0) which works - but the laptop cpu does feature SSE4.2, see cpu-z screenshot, so the SSE4 version should run? https://github.com/Alex313031/Thorium-Special/releases/tag/M105.0.5172.0

CPU-Z

Edit: Please regularly update all version AVX, SSE4.2, SSE3 - as you see, someone is using them :-)

Alex313031 commented 2 years ago

@gitoss This is very strange. The sse4 versions arent even compiled with sse4.2, just baseline sse4. Same for the sse3 releases, no ssse3, just baselone sse3.

JaegerFox commented 2 years ago

im having the same issue with Intel Celeron 1007U

Alex313031 commented 1 year ago

@gitoss @JaegerFox New SSE3 release coming tomorrow, should work okay.

aberfan commented 1 year ago

I believe I have a similar issue. Trying to run SSE4 version gives "The application was unable to start correctly (0xc0000001d).

Cpu-z shows instruction support:

Processor 1         ID = 0
    Number of cores     4 (max 8)
    Number of threads   4 (max 16)
    Name            Intel Core i5 750
    Codename        Lynnfield
    Specification       Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz
    Package (platform ID)   Socket 1156 LGA (0x1)
    CPUID           6.E.5
    Extended CPUID      6.1E
    Core Stepping       B1
    Technology      45 n
    TDP Limit       95 Watts
    Core Speed      1197.1 MHz
    Multiplier x FSB    9.0 x 133.0 MHz
    Rated Bus speed     2394.3 MHz
    Stock frequency     2666 MHz
    Instructions sets   MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x

V105 SSE3 works; the only M109 release seems to be for linux. I'm on Windows 7. Is there/will there be a working release for this platform?

gz83 commented 1 year ago

I believe I have a similar issue. Trying to run SSE4 version gives "The application was unable to start correctly (0xc0000001d).

Cpu-z shows instruction support:

Processor 1           ID = 0
  Number of cores     4 (max 8)
  Number of threads   4 (max 16)
  Name            Intel Core i5 750
  Codename        Lynnfield
  Specification       Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz
  Package (platform ID)   Socket 1156 LGA (0x1)
  CPUID           6.E.5
  Extended CPUID      6.1E
  Core Stepping       B1
  Technology      45 n
  TDP Limit       95 Watts
  Core Speed      1197.1 MHz
  Multiplier x FSB    9.0 x 133.0 MHz
  Rated Bus speed     2394.3 MHz
  Stock frequency     2666 MHz
  Instructions sets   MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x

V105 SSE3 works; the only M109 release seems to be for linux. I'm on Windows 7. Is there/will there be a working release for this platform?

@aberfan Hello, can the M109 version of Chromium be opened and used normally? In addition, we are preparing the Thorium browser for win7/8/8.1 systems.

aberfan commented 1 year ago

Yes, the official Chrome M109 opens and runs normally on my system.

gz83 commented 1 year ago

Yes, the official Chrome M109 opens and runs normally on my system.

@aberfan May I ask if there is an error pop-up window and error log when this error occurs?

aberfan commented 1 year ago

I didn't think to look for a dmp file before I deleted the directory. The "The application was unable to start correctly (0xc0000001d)." was the error pop-up window.

This is what's in the event log; same outcome trying to start from the .bat file and directly on the thorium.exe...

Faulting application name: thorium_shell.exe, version: 0.0.0.0, time stamp: 0x634af917
Faulting module name: thorium_shell.exe, version: 0.0.0.0, time stamp: 0x634af917
Exception code: 0xc000001d
Fault offset: 0x0000000003f19b69
Faulting process id: 0x47e4
Faulting application start time: 0x01d92df0c1c12efb
Faulting application path: \BIN\109.0.5362.0\thorium_shell.exe
Faulting module path: \BIN\109.0.5362.0\thorium_shell.exe

I also have this, which is quite bizarre (disk is fine, it's not a network disk):

Windows cannot access the file  for one of the following reasons: there is a problem with the network connection, the disk that the file is stored on, or the storage drivers installed on this computer; or the disk is missing. Windows closed the program thorium_shell.exe because of this error.

Program: thorium_shell.exe
File: 

The error value is listed in the Additional Data section.
User Action
1. Open the file again. This situation might be a temporary problem that corrects itself when the program runs again.
2. If the file still cannot be accessed and
    - It is on the network, your network administrator should verify that there is not a problem with the network and that the server can be contacted.
    - It is on a removable disk, for example, a floppy disk or CD-ROM, verify that the disk is fully inserted into the computer.
3. Check and repair the file system by running CHKDSK. To run CHKDSK, click Start, click Run, type CMD, and then click OK. At the command prompt, type CHKDSK /F, and then press ENTER.
4. If the problem persists, restore the file from a backup copy.
5. Determine whether other files on the same disk can be opened. If not, the disk might be damaged. If it is a hard disk, contact your administrator or computer hardware vendor for further assistance.

Additional Data
Error value: 00000000
Disk type: 0

(And from googling that error, I'll note that yes, this is x64 Windows 7 with SP1... )

gz83 commented 1 year ago

I didn't think to look for a dmp file before I deleted the directory. The "The application was unable to start correctly (0xc0000001d)." was the error pop-up window.

This is what's in the event log; same outcome trying to start from the .bat file and directly on the thorium.exe...

Faulting application name: thorium_shell.exe, version: 0.0.0.0, time stamp: 0x634af917
Faulting module name: thorium_shell.exe, version: 0.0.0.0, time stamp: 0x634af917
Exception code: 0xc000001d
Fault offset: 0x0000000003f19b69
Faulting process id: 0x47e4
Faulting application start time: 0x01d92df0c1c12efb
Faulting application path: \BIN\109.0.5362.0\thorium_shell.exe
Faulting module path: \BIN\109.0.5362.0\thorium_shell.exe

I also have this, which is quite bizarre (disk is fine, it's not a network disk):

Windows cannot access the file  for one of the following reasons: there is a problem with the network connection, the disk that the file is stored on, or the storage drivers installed on this computer; or the disk is missing. Windows closed the program thorium_shell.exe because of this error.

Program: thorium_shell.exe
File: 

The error value is listed in the Additional Data section.
User Action
1. Open the file again. This situation might be a temporary problem that corrects itself when the program runs again.
2. If the file still cannot be accessed and
  - It is on the network, your network administrator should verify that there is not a problem with the network and that the server can be contacted.
  - It is on a removable disk, for example, a floppy disk or CD-ROM, verify that the disk is fully inserted into the computer.
3. Check and repair the file system by running CHKDSK. To run CHKDSK, click Start, click Run, type CMD, and then click OK. At the command prompt, type CHKDSK /F, and then press ENTER.
4. If the problem persists, restore the file from a backup copy.
5. Determine whether other files on the same disk can be opened. If not, the disk might be damaged. If it is a hard disk, contact your administrator or computer hardware vendor for further assistance.

Additional Data
Error value: 00000000
Disk type: 0

(And from googling that error, I'll note that yes, this is x64 Windows 7 with SP1... )

@aberfan Please completely uninstall the Thorium browser and clear the data of the browser (please do a good job of data backup before clearing).

I tested the version you mentioned here, and I can't reproduce the problem you encountered. At the same time, I found thorium_shell in the error message you uploaded, are you planning to use thorium_shell? Or are you only going to use the browser?

The main body of thorium_shell is content_shell, which is a tool for web tests.

aberfan commented 1 year ago

This was from downloading https://github.com/Alex313031/Thorium-Win/releases/download/M109.0.5362.0/Thorium_109.0.5362.0.zip, extracting to a directory, and double-clicking on thorium.bat. I see that I did also try clicking on the shell one, since it was in the same directory.

So all that thorium.exe gives is "Application popup: thorium.exe - Application Error : The application was unable to start correctly (0xc000001d). Click OK to close the application." with no further information.

To test this again, I extracted the zip file to a directory. There's no cache, and nothing to uninstall? I had already removed the previous directory.

Is there something I can do, to get more information about what's failing and why?

thorium_shell.exe (Which I'm not planning on using) does yield a .dmp, which gives:

Failed calling InternetOpenUrl, GLE=12029

FAULTING_IP: 
thorium_shell!GetHandleVerifier+166f839
00000001`43439b69 c5f857c0        vxorps  xmm0,xmm0,xmm0

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000143439b69 (thorium_shell!GetHandleVerifier+0x000000000166f839)
   ExceptionCode: c000001d (Illegal instruction)
  ExceptionFlags: 00000000
NumberParameters: 0

PROCESS_NAME:  thorium_shell.exe

ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.

EXCEPTION_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.

Since the same error code is given by thorium.exe, I'm assuming it's the same thing. This means nothing to me though; is SSE4 support not really SSE4 support for some of our CPUs?

This seems like it may be relevant (though this is way above my paygrade!): https://stackoverflow.com/questions/26273849/illegal-instruction-on-avx-with-intel-core-i7

gz83 commented 1 year ago

This was from downloading https://github.com/Alex313031/Thorium-Win/releases/download/M109.0.5362.0/Thorium_109.0.5362.0.zip, extracting to a directory, and double-clicking on thorium.bat. I see that I did also try clicking on the shell one, since it was in the same directory.

So all that thorium.exe gives is "Application popup: thorium.exe - Application Error : The application was unable to start correctly (0xc000001d). Click OK to close the application." with no further information.

To test this again, I extracted the zip file to a directory. There's no cache, and nothing to uninstall? I had already removed the previous directory.

Is there something I can do, to get more information about what's failing and why?

thorium_shell.exe (Which I'm not planning on using) does yield a .dmp, which gives:

Failed calling InternetOpenUrl, GLE=12029

FAULTING_IP: 
thorium_shell!GetHandleVerifier+166f839
00000001`43439b69 c5f857c0        vxorps  xmm0,xmm0,xmm0

EXCEPTION_RECORD:  ffffffffffffffff -- (.exr 0xffffffffffffffff)
ExceptionAddress: 0000000143439b69 (thorium_shell!GetHandleVerifier+0x000000000166f839)
   ExceptionCode: c000001d (Illegal instruction)
  ExceptionFlags: 00000000
NumberParameters: 0

PROCESS_NAME:  thorium_shell.exe

ERROR_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.

EXCEPTION_CODE: (NTSTATUS) 0xc000001d - {EXCEPTION}  Illegal Instruction  An attempt was made to execute an illegal instruction.

Since the same error code is given by thorium.exe, I'm assuming it's the same thing. This means nothing to me though; is SSE4 support not really SSE4 support for some of our CPUs?

This seems like it may be relevant (though this is way above my paygrade!): https://stackoverflow.com/questions/26273849/illegal-instruction-on-avx-with-intel-core-i7

@aberfan The version released under Thorium-win repo (which is where we are now) does not support running on computers with processors without AVX instruction set installed. If you need to use the version with SSE3 instruction set, please go to Thorium-Special repo to download .

aberfan commented 1 year ago

That must be the confusion; the website, and releases, seem to indicate there's an 'SSE4' version and a (separate) 'AVX2' version

When I last checked, there wasn't a current SSE3 one for Windows, so assuming the issue here is there's only AVX, then that explains it (since obviously my decade old system would not support it). Sorry for the erroneous bug!

gz83 commented 1 year ago

That must be the confusion; the website, and releases, seem to indicate there's an 'SSE4' version and a (separate) 'AVX2' version image

When I last checked, there wasn't a current SSE3 one for Windows, so assuming the issue here is there's only AVX, then that explains it (since obviously my decade old system would not support it). Sorry for the erroneous bug!

@aberfan If I remember correctly, the versions released below this repo are all AVX versions. In addition, during the release process of some versions, we will attach a link to the AVX2 version for your reference.

SSE versions are currently released under the Thorium-special repo.

If you still encounter other problems, please feel free to give us feedback and communicate with us.

Alex313031 commented 1 year ago

@gitoss @aberfan Future non avx versions will be based on SSE3, same as chromium, for maximum compatability with weird CPUs like celerons or amd bobcat cpus that don't support all of the sse4 instruction set. There is actually SSE4.1, SSE4.2, and SSE4a

JaegerFox commented 1 year ago

@Alex313031 One question, will there be a difference in this build in terms of performance compared to other forks?

another thing and maybe this is not the time to mention it, but is it necessary thorium_shell and chromedriver that increase considerably the size? and practically any common user doesn't use?

Alex313031 commented 1 year ago

@JaegerFox Thorium SSE3 will still have better performance than most Chromium forks, however, it will have less performance than AVX build like mine or RobRich999's. And no, they are not necessary, however, I wanted thorium to be a "complete" chromium package, with the shell, chromedriver, widevine, and recently, clearkeycdm. This way they are all built to the same revision and guaranteed compatible with each other, and to otherwise make thorium very developer friendly. I could add an addendum to the readme.txt inside the portable zips, letting people know they can delete thorium_shell, shell_resources.pak, and chromedriver.

AndreyDedov commented 1 year ago

error 0xc0000142 when starting 110.0.5481.178

Socket 1 ID = 0 Number of cores 4 (max 4) Number of threads 4 (max 4) Manufacturer GenuineIntel Name Intel Celeron N5095 Codename Jasper Lake Specification Intel(R) Celeron(R) N5105 @ 2.00GHz Package (platform ID) Socket 1338 FCBGA (0x0) CPUID 6.C.0 Extended CPUID 6.9C Core Stepping A0/A1 Technology 10 nm TDP Limit 10.0 Watts Tjmax 105.0 °C Core Speed 2794.1 MHz Multiplier x Bus Speed 28.0 x 99.8 MHz Base frequency (cores) 99.8 MHz Base frequency (mem.) 99.8 MHz Stock frequency 2000 MHz Max frequency 2900 MHz Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, SHA Microcode Revision 0x1D L1 Data cache 4 x 32 KB (8-way, 64-byte line) L1 Instruction cache 4 x 32 KB (8-way, 64-byte line) L2 cache 1.50 MB (12-way, 64-byte line) L3 cache 4 MB (16-way, 64-byte line) Max CPUID level 0000001Bh Max CPUID ext. level 80000008h FID/VID Control yes

gz83 commented 1 year ago

error 0xc0000142 when starting 110.0.5481.178

Socket 1 ID = 0 Number of cores 4 (max 4) Number of threads 4 (max 4) Manufacturer GenuineIntel Name Intel Celeron N5095 Codename Jasper Lake Specification Intel(R) Celeron(R) N5105 @ 2.00GHz Package (platform ID) Socket 1338 FCBGA (0x0) CPUID 6.C.0 Extended CPUID 6.9C Core Stepping A0/A1 Technology 10 nm TDP Limit 10.0 Watts Tjmax 105.0 °C Core Speed 2794.1 MHz Multiplier x Bus Speed 28.0 x 99.8 MHz Base frequency (cores) 99.8 MHz Base frequency (mem.) 99.8 MHz Stock frequency 2000 MHz Max frequency 2900 MHz Instructions sets MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, EM64T, VT-x, AES, SHA Microcode Revision 0x1D L1 Data cache 4 x 32 KB (8-way, 64-byte line) L1 Instruction cache 4 x 32 KB (8-way, 64-byte line) L2 cache 1.50 MB (12-way, 64-byte line) L3 cache 4 MB (16-way, 64-byte line) Max CPUID level 0000001Bh Max CPUID ext. level 80000008h FID/VID Control yes

@AndreyDedov

The currently released version of the M110 does not support operation on processors that do not support the AVX instruction set.