-
-
Notifications
You must be signed in to change notification settings - Fork 57
Can't install any mod in BCML #436
Comments
Does this happen with any mod? |
Yes :< |
Hmm, very bizarre. I've never seen this before, so am not sure what could be different in your case, unless maybe something different about your system? (I also use Arch, though, so not just that.) What are your specs? |
It only seems to crash when it's trying to merge sarc files. I was able to install linkle's armor icons without a problem. My specs are: AMD FX8350 4 Ghz, Radeon 5700xt, 24 GB DDR3 RAM |
Got same with my system. In dmesg it says: I have Intel Xeon CPU E5-2697 v2 with these hardware extensions: "fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm cpuid_fault epb ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase smep erms xsaveopt dtherm ida arat pln pts md_clear flush_l1d". I suspect that whatever binary files are distributed via pip are compiled with bad optimizations that are CPU-specific for the submitter's machine (non-common hardware extension is enabled). All distributable code must be compiled with generic optimizations, like If it statically links with something else, the error may propagate from there, for example: it seems to want byml-v2 which wants syaz0 which wants its own static copy of outdared zlib-ng, maybe even patched one. This is already sketch and original outdated zlib-ng enables some extensions willy-nilly. Patched one just explicitly enables AVX2 which would definitively make both of our CPUs throw that error. |
The submitter's machine has nothing to do with any compiler optimizations, as the submitter's machine is not involved in publishing to PyPI. Linux publishing is handled via a Github workflow, the instructions of which are located here: https://github.com/NiceneNerd/BCML/blob/master/.github/workflows/publish.yml#L8 You can verify for yourself that there are no CPU-specific optimization flags explicitly set during those build commands - any such flags will have been set by the referenced action. I've been unable to determine what flags the action sets, if any.
|
I'm still not able to get it working which frustrates me. I think it has something to do with merging SARC Files
|
Do we have a container build environment like other projects do? I don't want to pollute my production system with the build environment installation. I willing to debug the crash. |
Alas, I don't. |
Has anyone found and PR'ed a fix for this? |
Nope. Based on the logged lines, the illegal instruction is something in Rust code, but that makes it very hard to debug without access to the affected machine(s). All operations performed by the Rust SARC merger are fairly simple, generic operations, so whatever is going wrong must be very low-level - low-level enough that I don't think it's something BCML is directly responsible for. Someone would need to debug this directly, on a box that has the error. |
Deleted comments that were unrelated to this issue. |
Running on Arch Linux with python3.8 Log:
The text was updated successfully, but these errors were encountered: