Bug 2047425 - rustc on i686 is segfaulting when building suricata
Summary: rustc on i686 is segfaulting when building suricata
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: rust
Version: 36
Hardware: i686
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Rust SIG
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: 2042943
TreeView+ depends on / blocked
 
Reported: 2022-01-27 19:54 UTC by Steve Grubb
Modified: 2022-08-29 21:03 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-08-29 21:03:34 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Steve Grubb 2022-01-27 19:54:41 UTC
Description of problem:
While compiling suricata on rawhide i686, rustc is segfaulting.

This is the relevant build log (very bottom):
https://kojipkgs.fedoraproject.org//work/tasks/7972/81987972/build.log

error: could not compile `suricata`
Caused by:
  process didn't exit successfully: `rustc  <snip>  (signal: 11, SIGSEGV: invalid memory reference)


Version-Release number of selected component (if applicable):
rust-1.58.1-1.fc36.i686

How reproducible:
always

Steps to Reproduce:
1. Build suricata for i686

Additional info:
No idea if this is related to gcc12 mass rebuild issues.

Comment 1 Josh Stone 2022-01-27 23:15:44 UTC
Here's the backtrace from the log:

/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x4d2d23)[0xf3c4ad23]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf7f4c570]
/usr/lib/libLLVM-13.so(+0xf564fe)[0xee31a4fe]
/usr/lib/libLLVM-13.so(+0xf586ae)[0xee31c6ae]
/usr/lib/libLLVM-13.so(+0x104900f)[0xee40d00f]
/usr/lib/libLLVM-13.so(_ZN4llvm18ScheduleDAGSDNodes12EmitScheduleERNS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEE+0x382)[0xee40c1a2]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv+0xa2a)[0xee4e4fca]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_11InstructionELb0ELb0EvEELb0ELb1EEES6_Rb+0x303)[0xee4e4543]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x2204)[0xee4e3d14]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE+0xc22)[0xee4e0932]
/usr/lib/libLLVM-13.so(+0x37b98e1)[0xf0b7d8e1]
/usr/lib/libLLVM-13.so(_ZN4llvm19MachineFunctionPass13runOnFunctionERNS_8FunctionE+0x14b)[0xedf8fd0b]
/usr/lib/libLLVM-13.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x598)[0xedcf27d8]
/usr/lib/libLLVM-13.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x48)[0xedcfa148]
/usr/lib/libLLVM-13.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x43b)[0xedcf2fdb]
/usr/lib/libLLVM-13.so(_ZN4llvm6legacy11PassManager3runERNS_6ModuleE+0x2b)[0xedcfa4fb]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x56f02d)[0xf3ce702d]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x8713ea)[0xf3fe93ea]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x87703e)[0xf3fef03e]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x88f267)[0xf4007267]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x8887f4)[0xf40007f4]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x7a5923)[0xf3f1d923]
/usr/lib/librustc_driver-c64b9d71ac7fefd1.so(+0x81cc47)[0xf3f94c47]
/usr/lib/libstd-03dbd655d09fff27.so(rust_metadata_std_cae909163af4ca9f+0x9d67b)[0xf368a67b]
/usr/lib/libc.so.6(+0x8e7cd)[0xf348e7cd]
/usr/lib/libc.so.6(+0x116d4c)[0xf3516d4c]

I can reproduce this on F35 (gcc-11, llvm-13, rust-1.58.1):

/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x4d2053)[0xf3c75053]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf7f73570]
/usr/lib/libLLVM-13.so(+0xe45336)[0xedaef336]
/usr/lib/libLLVM-13.so(+0xe47f19)[0xedaf1f19]
/usr/lib/libLLVM-13.so(+0xf06b0d)[0xedbb0b0d]
/usr/lib/libLLVM-13.so(_ZN4llvm18ScheduleDAGSDNodes12EmitScheduleERNS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEE+0x4ca)[0xedbb3c2a]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv+0x406)[0xedc67446]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x10a6)[0xedc6a8d6]
/usr/lib/libLLVM-13.so(_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE+0x5a4)[0xedc6ca54]
/usr/lib/libLLVM-13.so(+0x33e91f2)[0xf00931f2]
/usr/lib/libLLVM-13.so(+0xb03f2a)[0xed7adf2a]
/usr/lib/libLLVM-13.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x360)[0xed54d130]
/usr/lib/libLLVM-13.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x35)[0xed54d375]
/usr/lib/libLLVM-13.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x436)[0xed54da76]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x56f47d)[0xf3d1247d]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x87437a)[0xf401737a]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x879fce)[0xf401cfce]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x892237)[0xf4035237]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x88b7b4)[0xf402e7b4]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x7a8553)[0xf3f4b553]
/usr/lib/librustc_driver-aa60110f3d39f30d.so(+0x81fcd7)[0xf3fc2cd7]
/usr/lib/libstd-0212acdb22c5c4e7.so(rust_metadata_std_2c712ad581218e99+0x9d67b)[0xf36b567b]
/usr/lib/libc.so.6(+0x8bbc1)[0xf34afbc1]
/usr/lib/libc.so.6(+0x111f3c)[0xf3535f3c]


And also on F34 (gcc-11, llvm-12, rust-1.58.1):

/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x4c8703)[0xf3c32703]
linux-gate.so.1(__kernel_sigreturn+0x0)[0xf7f30570]
/usr/lib/libLLVM-12.so(+0xe7fe26)[0xee0c2e26]
/usr/lib/libLLVM-12.so(+0xe839f9)[0xee0c69f9]
/usr/lib/libLLVM-12.so(+0xf41e0d)[0xee184e0d]
/usr/lib/libLLVM-12.so(_ZN4llvm18ScheduleDAGSDNodes12EmitScheduleERNS_26MachineInstrBundleIteratorINS_12MachineInstrELb0EEE+0x4de)[0xee187f9e]
/usr/lib/libLLVM-12.so(_ZN4llvm16SelectionDAGISel17CodeGenAndEmitDAGEv+0x3cf)[0xee235b8f]
/usr/lib/libLLVM-12.so(_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_11InstructionELb0ELb0EvEELb0ELb1EEES6_Rb+0x17f)[0xee235f5f]
/usr/lib/libLLVM-12.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x107d)[0xee238e5d]
/usr/lib/libLLVM-12.so(_ZN4llvm16SelectionDAGISel20runOnMachineFunctionERNS_15MachineFunctionE+0x54c)[0xee23af0c]
/usr/lib/libLLVM-12.so(+0x31860a2)[0xf03c90a2]
/usr/lib/libLLVM-12.so(+0xb6c53a)[0xeddaf53a]
/usr/lib/libLLVM-12.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x31e)[0xedb784fe]
/usr/lib/libLLVM-12.so(_ZN4llvm13FPPassManager11runOnModuleERNS_6ModuleE+0x47)[0xedb789f7]
/usr/lib/libLLVM-12.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3ce)[0xedb77e8e]
/usr/lib/libLLVM-12.so(_ZN4llvm6legacy11PassManager3runERNS_6ModuleE+0x23)[0xedb781d3]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x565bdd)[0xf3ccfbdd]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x867ada)[0xf3fd1ada]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x86d59e)[0xf3fd759e]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x8855d7)[0xf3fef5d7]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x87ec4f)[0xf3fe8c4f]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x79e673)[0xf3f08673]
/usr/lib/librustc_driver-d8b8ba19cd83dffa.so(+0x8123e7)[0xf3f7c3e7]
/usr/lib/libstd-5aca0bcc88cc9a9a.so(rust_metadata_std_34b3c830f6639626+0x9dd8b)[0xf367bd8b]
/usr/lib/libpthread.so.0(+0x83d8)[0xecfe83d8]
/usr/lib/libc.so.6(clone+0x6a)[0xf3515e2a]


They're all within llvm::ScheduleDAGSDNodes::EmitSchedule. I'll see if I can extract LLVM IR and reproduce it with llc directly.

Comment 2 Ben Cotton 2022-02-08 20:27:37 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 36 development cycle.
Changing version to 36.

Comment 3 Josh Stone 2022-08-29 21:03:34 UTC
I can't reproduce this anymore.

Rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=91412654
* gcc-12.2.1-1.fc38.i686
* llvm-libs-14.0.5-3.fc37.i686
* rust-1.63.0-1.fc38.i686

F36: https://koji.fedoraproject.org/koji/taskinfo?taskID=91412667
* gcc-12.2.1-1.fc36.i686
* llvm-libs-14.0.5-1.fc36.i686
* rust-1.63.0-1.fc36.i686

F35: https://koji.fedoraproject.org/koji/taskinfo?taskID=91412733
* gcc-11.3.1-2.fc35.i686
* llvm-libs-13.0.1-1.fc35.i686
* rust-1.63.0-1.fc35.i686


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