Bug 2086106 - codegen issues when compiling doctests on armv7hl on Fedora 36
Summary: codegen issues when compiling doctests on armv7hl on Fedora 36
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: rust
Version: 36
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rust SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 2045116 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-05-13 21:23 UTC by Fabio Valentini
Modified: 2023-03-22 22:41 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2023-03-22 22:41:54 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Fabio Valentini 2022-05-13 21:23:26 UTC
This is similar to previous reports like:
https://bugzilla.redhat.com/show_bug.cgi?id=2020861
https://bugzilla.redhat.com/show_bug.cgi?id=1902663

Except this time, rustc crashes only on armv7hl while compiling doctests. For example, in the encoding_rs 0.8.31 crate. And since this only happens on Fedora 36, I assume this is specific to using LLVM 14.

I'll disable doctests in this package for now.

Affected build:
https://koji.fedoraproject.org/koji/taskinfo?taskID=87009861

   Doc-tests encoding_rs
     Running (...)
running 3 tests
test src/lib.rs - (line 61) ... FAILED
test src/lib.rs - Encoding::for_label (line 2702) ... FAILED
test src/lib.rs - (line 77) ... FAILED
failures:
---- src/lib.rs - (line 61) stdout ----
/usr/lib/librustc_driver-2ee98cda7961cb30.so(+0x472d6c)[0xb41c2d6c]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3a79130]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb0665cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb087d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb087ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb087da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb087d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb0808c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb06f2334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb0481b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb0489c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb04822dc]
Couldn't compile the test.
---- src/lib.rs - Encoding::for_label (line 2702) stdout ----
/usr/lib/librustc_driver-2ee98cda7961cb30.so(+0x472d6c)[0xb41a2d6c]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3a59130]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb0645cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb085d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb085ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb085da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb085d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb07e8c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb06d2334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb0461b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb0469c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb04622dc]
Couldn't compile the test.
---- src/lib.rs - (line 77) stdout ----
/usr/lib/librustc_driver-2ee98cda7961cb30.so(+0x472d6c)[0xb4252d6c]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3b09130]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb06f5cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb090d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb090ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb090da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb090d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb0898c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb0782334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb0511b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb0519c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb05122dc]
Couldn't compile the test.
failures:
    src/lib.rs - (line 61)
    src/lib.rs - (line 77)
    src/lib.rs - Encoding::for_label (line 2702)
test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 25.36s
error: test failed, to rerun pass '--doc'

Comment 1 Josh Stone 2022-05-14 00:04:13 UTC
Hmm, it does not reproduce with upstream 1.60.0.

I'm running in a qemu mock, and I can see that it's a SIGSEGV, but I think I'll have to get a real machine to properly debug it.

Comment 2 Fabio Valentini 2022-07-21 18:45:52 UTC
I encountered another crash like this when building bat 0.21.0:

https://koji.fedoraproject.org/koji/taskinfo?taskID=89818399

running 1 test
test src/lib.rs - (line 12) has been running for over 60 seconds
test src/lib.rs - (line 12) ... FAILED
failures:
---- src/lib.rs - (line 12) stdout ----
/usr/lib/librustc_driver-0f99eb08fdd091cb.so(+0x4b0154)[0xb4240154]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3a953a0]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb0685cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb089d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb089ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb089da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb089d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb0828c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb0712334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb04a1b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb04a9c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb04a22dc]
Couldn't compile the test.
failures:
    src/lib.rs - (line 12)
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out; finished in 88.33s
error: test failed, to rerun pass '--doc'

Comment 3 Fabio Valentini 2022-07-26 17:04:19 UTC
Happened during a build of jql 4.0.6 as well:

https://koji.fedoraproject.org/koji/taskinfo?taskID=90086790

running 3 tests
test src/lib.rs - selectors_parser (line 77) ... FAILED
test src/lib.rs - walker (line 30) ... FAILED
test src/lib.rs - groups_walker (line 47) ... FAILED
failures:
---- src/lib.rs - selectors_parser (line 77) stdout ----
/usr/lib/librustc_driver-0f99eb08fdd091cb.so(+0x4b0154)[0xb4270154]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3ac53a0]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb06b5cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb08cd144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb08cddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb08cda0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb08cd728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb0858c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb0742334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb04d1b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb04d9c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb04d22dc]
Couldn't compile the test.
---- src/lib.rs - walker (line 30) stdout ----
/usr/lib/librustc_driver-0f99eb08fdd091cb.so(+0x4b0154)[0xb4230154]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3a853a0]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb0675cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb088d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb088ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb088da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb088d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb0818c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb0702334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb0491b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb0499c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb04922dc]
Couldn't compile the test.
---- src/lib.rs - groups_walker (line 47) stdout ----
/usr/lib/librustc_driver-0f99eb08fdd091cb.so(+0x4b0154)[0xb42c0154]
/usr/lib/libc.so.6(__default_sa_restorer+0x0)[0xb3b153a0]
/usr/lib/libLLVM-14.so(_ZN4llvm12LiveRegUnits10accumulateERKNS_12MachineInstrE+0x84)[0xb0705cc8]
/usr/lib/libLLVM-14.so(_ZN4llvm12RegScavenger25scavengeRegisterBackwardsERKNS_19TargetRegisterClassENS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEEbib+0x110)[0xb091d144]
/usr/lib/libLLVM-14.so(+0x2a8ddcc)[0xb091ddcc]
/usr/lib/libLLVM-14.so(+0x2a8da0c)[0xb091da0c]
/usr/lib/libLLVM-14.so(_ZN4llvm24scavengeFrameVirtualRegsERNS_15MachineFunctionERNS_12RegScavengerE+0x60)[0xb091d728]
/usr/lib/libLLVM-14.so(+0x2a18c7c)[0xb08a8c7c]
/usr/lib/libLLVM-14.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x10c)[0xb0792334]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x444)[0xb0521b74]
/usr/lib/libLLVM-14.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x30)[0xb0529c44]
/usr/lib/libLLVM-14.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3e8)[0xb05222dc]
Couldn't compile the test.
failures:
    src/lib.rs - groups_walker (line 47)
    src/lib.rs - selectors_parser (line 77)
    src/lib.rs - walker (line 30)
test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out; finished in 36.38s
error: test failed, to rerun pass '--doc'

Comment 4 Ben Cotton 2022-08-09 13:15:48 UTC
This bug appears to have been reported against 'rawhide' during the Fedora Linux 37 development cycle.
Changing version to 37.

Comment 5 Josh Stone 2022-08-29 22:34:29 UTC
*** Bug 2045116 has been marked as a duplicate of this bug. ***

Comment 6 Fabio Valentini 2023-03-22 22:41:54 UTC
As far as I can tell, this issue (and similar incarnations) has been fixed in LLVM.


Note You need to log in before you can comment on or make changes to this bug.