FS#80301 - [blender] 17:4.0.1-2 Segfault on start
Attached to Project:
Arch Linux
Opened by IMBJR (IMBJR) - Monday, 20 November 2023, 12:14 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:21 GMT
Opened by IMBJR (IMBJR) - Monday, 20 November 2023, 12:14 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:21 GMT
|
Details
Description:
Blender 4 does not start Additional info: Here's the blender.crash.txt generated: # Blender 4.0.1, Commit date: 2023-11-16 16:40, Hash d0dd92834a08 # backtrace blender(+0xfd1453) [0x55b43a870453] blender(+0x8ba97e) [0x55b43a15997e] /usr/lib/libc.so.6(+0x3e710) [0x7f042d65c710] /usr/lib/libLLVM-15.so(+0x17a7a0f) [0x7f04221a7a0f] /usr/lib/libLLVM-15.so(+0x17a7b98) [0x7f04221a7b98] /usr/lib/libLLVM-16.so(_ZN4llvm14FoldingSetBase19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPvRKNS0_14FoldingSetInfoE+0xb6) [0x7f043ad278e6] /usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERKNS_5SDLocERPv+0x36) [0x7f043b89b1b6] /usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG7getNodeEjRKNS_5SDLocENS_8SDVTListENS_8ArrayRefINS_7SDValueEEENS_11SDNodeFlagsE+0x23d) [0x7f043b8e79cd] /usr/lib/libLLVM-16.so(+0x3a0e816) [0x7f043da0e816] /usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel14LowerArgumentsERKNS_8FunctionE+0xef3) [0x7f043b88f453] /usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x22dc) [0x7f043b90632c] /usr/lib/libLLVM-16.so(+0x19079b6) [0x7f043b9079b6] /usr/lib/libLLVM-16.so(+0x12ea945) [0x7f043b2ea945] /usr/lib/libLLVM-16.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x459) [0x7f043afab989] /usr/lib/libLLVM-16.so(+0x282aefa) [0x7f043c82aefa] /usr/lib/libLLVM-16.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3ec) [0x7f043afac6ac] /usr/lib/dri/radeonsi_dri.so(+0x82f380) [0x7f03da22f380] /usr/lib/dri/radeonsi_dri.so(+0x830009) [0x7f03da230009] /usr/lib/dri/radeonsi_dri.so(+0x84fffc) [0x7f03da24fffc] /usr/lib/dri/radeonsi_dri.so(+0x85c2cf) [0x7f03da25c2cf] /usr/lib/dri/radeonsi_dri.so(+0x867c4d) [0x7f03da267c4d] /usr/lib/dri/radeonsi_dri.so(+0xc8bbd9) [0x7f03da68bbd9] /usr/lib/dri/radeonsi_dri.so(+0xca4926) [0x7f03da6a4926] /usr/lib/dri/radeonsi_dri.so(+0xbad593) [0x7f03da5ad593] /usr/lib/dri/radeonsi_dri.so(+0xbc7239) [0x7f03da5c7239] /usr/lib/dri/radeonsi_dri.so(+0x8a92dc) [0x7f03da2a92dc] /usr/lib/dri/radeonsi_dri.so(+0x8b6fe2) [0x7f03da2b6fe2] /usr/lib/dri/radeonsi_dri.so(+0x609487) [0x7f03da009487] /usr/lib/dri/radeonsi_dri.so(+0x5e8219) [0x7f03d9fe8219] /usr/lib/dri/radeonsi_dri.so(+0x147f72a) [0x7f03dae7f72a] /usr/lib/dri/radeonsi_dri.so(+0x60b018) [0x7f03da00b018] /usr/lib/dri/radeonsi_dri.so(+0x18753f) [0x7f03d9b8753f] /usr/lib/dri/radeonsi_dri.so(+0xbe454) [0x7f03d9abe454] /usr/lib/libGLX_mesa.so.0(+0x5397f) [0x7f040d2fd97f] /usr/lib/libGLX_mesa.so.0(+0x3f58b) [0x7f040d2e958b] blender(+0x294b126) [0x55b43c1ea126] blender(+0x294a6f8) [0x55b43c1e96f8] blender(+0x2940529) [0x55b43c1df529] blender(+0x294a45b) [0x55b43c1e945b] blender(+0x2946df8) [0x55b43c1e5df8] blender(+0x293ca74) [0x55b43c1dba74] blender(+0x10175a2) [0x55b43a8b65a2] blender(+0x10177ed) [0x55b43a8b67ed] blender(+0xfe1224) [0x55b43a880224] blender(+0xff70ae) [0x55b43a8960ae] blender(+0xffc7c4) [0x55b43a89b7c4] blender(+0x88dde1) [0x55b43a12cde1] /usr/lib/libc.so.6(+0x27cd0) [0x7f042d645cd0] /usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f042d645d8a] blender(+0x8b6565) [0x55b43a155565] # Python backtrace |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:21 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/blender/issues/2
Saturday, 25 November 2023, 20:21 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/blender/issues/2
FS#79506.[1]: https://gitlab.archlinux.org/archlinux/packaging/packages/blender/-/commit/a6f590774c9863f8f553127eae419f894a61b82e#9b9baac1eb9b72790eef5540a1685306fc43fd6c_73_77
# Blender 4.0.1, Commit date: 2023-11-16 16:40, Hash d0dd92834a08
# backtrace
blender(+0xfd1453) [0x55fd57ba5453]
blender(+0x8ba97e) [0x55fd5748e97e]
/usr/lib/libc.so.6(+0x3e710) [0x7f3fd1e5c710]
/usr/lib/libLLVM-15.so(+0x17a7a0f) [0x7f3fc69a7a0f]
/usr/lib/libLLVM-15.so(+0x17a7b98) [0x7f3fc69a7b98]
/usr/lib/libLLVM-16.so(_ZN4llvm14FoldingSetBase19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPvRKNS0_14FoldingSetInfoE+0xb6) [0x7f3fdf5278e6]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERKNS_5SDLocERPv+0x36) [0x7f3fe009b1b6]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG11getConstantERKNS_11ConstantIntERKNS_5SDLocENS_3EVTEbb+0x1ab) [0x7f3fe00da55b]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG11getConstantEmRKNS_5SDLocENS_3EVTEbb+0xec) [0x7f3fe00db2bc]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder20visitTargetIntrinsicERKNS_8CallInstEj+0x1f0) [0x7f3fe0064050]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder18visitIntrinsicCallERKNS_8CallInstEj+0x53d) [0x7f3fe0083d4d]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder5visitERKNS_11InstructionE+0x450) [0x7f3fe0093ec0]
/usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_11InstructionELb0ELb0EvEELb0ELb1EEES6_Rb+0x94) [0x7f3fe0103ef4]
/usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x18dd) [0x7f3fe010592d]
/usr/lib/libLLVM-16.so(+0x19079b6) [0x7f3fe01079b6]
/usr/lib/libLLVM-16.so(+0x12ea945) [0x7f3fdfaea945]
/usr/lib/libLLVM-16.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x459) [0x7f3fdf7ab989]
/usr/lib/libLLVM-16.so(+0x282aefa) [0x7f3fe102aefa]
/usr/lib/libLLVM-16.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3ec) [0x7f3fdf7ac6ac]
/usr/lib/dri/radeonsi_dri.so(+0x82f380) [0x7f3f7a22f380]
/usr/lib/dri/radeonsi_dri.so(+0x830009) [0x7f3f7a230009]
/usr/lib/dri/radeonsi_dri.so(+0x84fffc) [0x7f3f7a24fffc]
/usr/lib/dri/radeonsi_dri.so(+0x85c2cf) [0x7f3f7a25c2cf]
/usr/lib/dri/radeonsi_dri.so(+0x867c4d) [0x7f3f7a267c4d]
/usr/lib/dri/radeonsi_dri.so(+0xd334b3) [0x7f3f7a7334b3]
/usr/lib/dri/radeonsi_dri.so(+0xd070f1) [0x7f3f7a7070f1]
/usr/lib/dri/radeonsi_dri.so(+0xbad593) [0x7f3f7a5ad593]
/usr/lib/dri/radeonsi_dri.so(+0x1351b8e) [0x7f3f7ad51b8e]
/usr/lib/dri/radeonsi_dri.so(+0x8bbed3) [0x7f3f7a2bbed3]
/usr/lib/dri/radeonsi_dri.so(+0x607263) [0x7f3f7a007263]
/usr/lib/dri/radeonsi_dri.so(+0x5e8219) [0x7f3f79fe8219]
/usr/lib/dri/radeonsi_dri.so(+0x147f72a) [0x7f3f7ae7f72a]
/usr/lib/dri/radeonsi_dri.so(+0x60b018) [0x7f3f7a00b018]
/usr/lib/dri/radeonsi_dri.so(+0x18753f) [0x7f3f79b8753f]
/usr/lib/dri/radeonsi_dri.so(+0xbe454) [0x7f3f79abe454]
/usr/lib/libEGL_mesa.so.0(+0x2bf58) [0x7f3f8f8ddf58]
/usr/lib/libEGL_mesa.so.0(+0x1c328) [0x7f3f8f8ce328]
/usr/lib/libEGL_mesa.so.0(+0x1406d) [0x7f3f8f8c606d]
blender(+0x2961514) [0x55fd59535514]
blender(+0x295fd38) [0x55fd59533d38]
blender(+0x2940529) [0x55fd59514529]
blender(+0x295df6b) [0x55fd59531f6b]
blender(+0x295b1a4) [0x55fd5952f1a4]
blender(+0x293ca74) [0x55fd59510a74]
blender(+0x10175a2) [0x55fd57beb5a2]
blender(+0x10177ed) [0x55fd57beb7ed]
blender(+0xfe1224) [0x55fd57bb5224]
blender(+0xff70ae) [0x55fd57bcb0ae]
blender(+0xffc7c4) [0x55fd57bd07c4]
blender(+0x88dde1) [0x55fd57461de1]
/usr/lib/libc.so.6(+0x27cd0) [0x7f3fd1e45cd0]
/usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f3fd1e45d8a]
blender(+0x8b6565) [0x55fd5748a565]
# Python backtrace
Tried 17:4.0.1-1 now, it opens.
https://drive.google.com/file/d/1I-jEaYOoXigdaa1SVh50NBvShhzA5HRd/view?usp=sharing blender-17:4.0.1-2.1-x86_64.pkg.tar.zst
Please refrain from posting backtraces without debugging information as they are basically useless. Please see [1][2] for more details.
FWIW, the app opens up fine here without crashing.
[1] https://blogs.gnome.org/mcatanzaro/2021/09/18/creating-quality-backtraces-for-crash-reports/
[2] https://wiki.archlinux.org/title/Debugging/Getting_traces
I built 17:4.0.1-2.1 using your attached PKGBUILD.diff and it works once again.
I just upgraded to the latest blender (blender 17:4.0.1-3) and still have crash at startup (no 4.0.x version has worked for me so far):
> blender
Writing: /tmp/blender.crash.txt
zsh: segmentation fault (core dumped) blender
> cat /tmp/blender.crash.txt
# Blender 4.0.1, Commit date: 2023-11-16 16:40, Hash d0dd92834a08
# backtrace
blender(+0xfd0683) [0x55b7fffbc683]
blender(+0x8ba21e) [0x55b7ff8a621e]
/usr/lib/libc.so.6(+0x3e710) [0x7f485145c710]
/usr/lib/libLLVM-15.so(+0x17a7a0f) [0x7f4845fa7a0f]
/usr/lib/libLLVM-15.so(+0x17a7b98) [0x7f4845fa7b98]
/usr/lib/libLLVM-16.so(_ZN4llvm14FoldingSetBase19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPvRKNS0_14FoldingSetInfoE+0xb6) [0x7f485f9278e6]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERKNS_5SDLocERPv+0x36) [0x7f486049b1b6]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG11getConstantERKNS_11ConstantIntERKNS_5SDLocENS_3EVTEbb+0x1ab) [0x7f48604da55b]
/usr/lib/libLLVM-16.so(_ZN4llvm12SelectionDAG11getConstantEmRKNS_5SDLocENS_3EVTEbb+0xec) [0x7f48604db2bc]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder20visitTargetIntrinsicERKNS_8CallInstEj+0x1f0) [0x7f4860464050]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder18visitIntrinsicCallERKNS_8CallInstEj+0x53d) [0x7f4860483d4d]
/usr/lib/libLLVM-16.so(_ZN4llvm19SelectionDAGBuilder5visitERKNS_11InstructionE+0x450) [0x7f4860493ec0]
/usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel16SelectBasicBlockENS_14ilist_iteratorINS_12ilist_detail12node_optionsINS_11InstructionELb0ELb0EvEELb0ELb1EEES6_Rb+0x94) [0x7f4860503ef4]
/usr/lib/libLLVM-16.so(_ZN4llvm16SelectionDAGISel20SelectAllBasicBlocksERKNS_8FunctionE+0x18dd) [0x7f486050592d]
/usr/lib/libLLVM-16.so(+0x19079b6) [0x7f48605079b6]
/usr/lib/libLLVM-16.so(+0x12ea945) [0x7f485feea945]
/usr/lib/libLLVM-16.so(_ZN4llvm13FPPassManager13runOnFunctionERNS_8FunctionE+0x459) [0x7f485fbab989]
/usr/lib/libLLVM-16.so(+0x282aefa) [0x7f486142aefa]
/usr/lib/libLLVM-16.so(_ZN4llvm6legacy15PassManagerImpl3runERNS_6ModuleE+0x3ec) [0x7f485fbac6ac]
/usr/lib/dri/radeonsi_dri.so(+0x82f380) [0x7f4801c2f380]
/usr/lib/dri/radeonsi_dri.so(+0x830009) [0x7f4801c30009]
/usr/lib/dri/radeonsi_dri.so(+0x84fffc) [0x7f4801c4fffc]
/usr/lib/dri/radeonsi_dri.so(+0x85c2cf) [0x7f4801c5c2cf]
/usr/lib/dri/radeonsi_dri.so(+0x867c4d) [0x7f4801c67c4d]
/usr/lib/dri/radeonsi_dri.so(+0xceec55) [0x7f48020eec55]
/usr/lib/dri/radeonsi_dri.so(+0xcf8cf3) [0x7f48020f8cf3]
/usr/lib/dri/radeonsi_dri.so(+0xbad593) [0x7f4801fad593]
/usr/lib/dri/radeonsi_dri.so(+0xbc7239) [0x7f4801fc7239]
/usr/lib/dri/radeonsi_dri.so(+0x8a92dc) [0x7f4801ca92dc]
/usr/lib/dri/radeonsi_dri.so(+0x8b6fe2) [0x7f4801cb6fe2]
/usr/lib/dri/radeonsi_dri.so(+0x609487) [0x7f4801a09487]
/usr/lib/dri/radeonsi_dri.so(+0x5e8219) [0x7f48019e8219]
/usr/lib/dri/radeonsi_dri.so(+0x147f72a) [0x7f480287f72a]
/usr/lib/dri/radeonsi_dri.so(+0x60b018) [0x7f4801a0b018]
/usr/lib/dri/radeonsi_dri.so(+0x18753f) [0x7f480158753f]
/usr/lib/dri/radeonsi_dri.so(+0xbe454) [0x7f48014be454]
/usr/lib/libEGL_mesa.so.0(+0x2bf58) [0x7f483383af58]
/usr/lib/libEGL_mesa.so.0(+0x1c328) [0x7f483382b328]
/usr/lib/libEGL_mesa.so.0(+0x1406d) [0x7f483382306d]
blender(+0x2960744) [0x55b80194c744]
blender(+0x295ef68) [0x55b80194af68]
blender(+0x293f759) [0x55b80192b759]
blender(+0x295d19b) [0x55b80194919b]
blender(+0x295a3d4) [0x55b8019463d4]
blender(+0x293bca4) [0x55b801927ca4]
blender(+0x10167d2) [0x55b8000027d2]
blender(+0x1016a1d) [0x55b800002a1d]
blender(+0xfe0454) [0x55b7fffcc454]
blender(+0xff62de) [0x55b7fffe22de]
blender(+0xffb9f4) [0x55b7fffe79f4]
blender(+0x88d681) [0x55b7ff879681]
/usr/lib/libc.so.6(+0x27cd0) [0x7f4851445cd0]
/usr/lib/libc.so.6(__libc_start_main+0x8a) [0x7f4851445d8a]
blender(+0x8b5e05) [0x55b7ff8a1e05]
# Python backtrace
Attached a gdb trace log for blender 17:4.0.1-3.
Rebuilt for openvdb 11.0.0
https://drive.google.com/file/d/1p0cucmczqi-uBTdLbTuZiOulo5XBHSVe/view?usp=sharing blender-17:4.0.1-3.1-x86_64.pkg.tar.zst
Edit:
Upstream OSL states "It does not work currently" with respect to LLVM 16 [1]. Possibly ask upstream mesa what the difference is between the drivers?
[1]: https://github.com/AcademySoftwareFoundation/OpenShadingLanguage/pull/1730#issuecomment-1765161314
Are you also looking into
FS#80306? So perhaps both could be fixed at once.You can also see in the callstack that it's starting off in a LLVM16 symbol, and then ends up inside a LLVM15 symbol. Once again, unsure what is actually causing this.
It's perhaps more clear with a fully symbolicated callstack. For some reason FindNodeOrInsertPos (frame 7) from llvm-16, used by the GPU driver, is calling NodeEquals (frame 6) from llvm-15, linked in from OpenShaderLanguage. And due to some ABI change that then crashes later.
Unmangled the symbols in question are:
_ZN4llvm10FoldingSetINS_6SDNodeEE10NodeEqualsEPKNS_14FoldingSetBaseEPNS3_4NodeERKNS_16FoldingSetNodeIDEjRS8_
which is called indirectly from
_ZN4llvm14FoldingSetBase19FindNodeOrInsertPosERKNS_16FoldingSetNodeIDERPvRKNS0_14FoldingSetInfoE
#0 llvm::FoldingSetNodeID::AddPointer(void const*) () at /usr/src/debug/llvm15/llvm-15.0.7.src/include/llvm/ADT/FoldingSet.h:337
#1 AddNodeIDOperands () at /usr/src/debug/llvm15/llvm-15.0.7.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:616
#2 AddNodeIDNode() () at /usr/src/debug/llvm15/llvm-15.0.7.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:868
#3 0x00007fffccda7b98 in llvm::SDNode::Profile(llvm::FoldingSetNodeID&) const () at /usr/src/debug/llvm15/llvm-15.0.7.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:10818
#4 llvm::DefaultFoldingSetTrait<llvm::SDNode>::Profile(llvm::SDNode&, llvm::FoldingSetNodeID&) () at /usr/src/debug/llvm15/llvm-15.0.7.src/include/llvm/ADT/FoldingSet.h:236
#5 llvm::DefaultFoldingSetTrait<llvm::SDNode>::Equals(llvm::SDNode&, llvm::FoldingSetNodeID const&, unsigned int, llvm::FoldingSetNodeID&) () at /usr/src/debug/llvm15/llvm-15.0.7.src/include/llvm/ADT/FoldingSet.h:404
#6 llvm::FoldingSet<llvm::SDNode>::NodeEquals(llvm::FoldingSetBase const*, llvm::FoldingSetBase::Node*, llvm::FoldingSetNodeID const&, unsigned int, llvm::FoldingSetNodeID&) () at /usr/src/debug/llvm15/llvm-15.0.7.src/include/llvm/ADT/FoldingSet.h:538
#7 0x00007fffe67278e6 in llvm::FoldingSetBase::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&, llvm::FoldingSetBase::FoldingSetInfo const&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/Support/FoldingSet.cpp:288
#8 0x00007fffe729b1b6 in llvm::FoldingSetImpl<llvm::FoldingSet<llvm::SDNode>, llvm::SDNode>::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, void*&) () at /usr/src/debug/llvm/llvm-16.0.6.src/include/llvm/ADT/FoldingSet.h:490
#9 llvm::SelectionDAG::FindNodeOrInsertPos(llvm::FoldingSetNodeID const&, llvm::SDLoc const&, void*&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:1343
#10 0x00007fffe72e79cd in llvm::SelectionDAG::getNode(unsigned int, llvm::SDLoc const&, llvm::SDVTList, llvm::ArrayRef<llvm::SDValue>, llvm::SDNodeFlags) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/SelectionDAG/SelectionDAG.cpp:9411
#11 0x00007fffe940e816 in llvm::SelectionDAG::getCopyFromReg(llvm::SDValue, llvm::SDLoc const&, unsigned int, llvm::EVT) () at /usr/src/debug/llvm/llvm-16.0.6.src/include/llvm/CodeGen/SelectionDAG.h:798
#12 llvm::SITargetLowering::LowerFormalArguments(llvm::SDValue, unsigned int, bool, llvm::SmallVectorImpl<llvm::ISD::InputArg> const&, llvm::SDLoc const&, llvm::SelectionDAG&, llvm::SmallVectorImpl<llvm::SDValue>&) const ()
at /usr/src/debug/llvm/llvm-16.0.6.src/lib/Target/AMDGPU/SIISelLowering.cpp:2557
#13 0x00007fffe728f453 in llvm::SelectionDAGISel::LowerArguments(llvm::Function const&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/SelectionDAG/SelectionDAGBuilder.cpp:10697
#14 0x00007fffe730632c in llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1398
#15 0x00007fffe73079b6 in llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:480
#16 0x00007fffe6cea945 in llvm::MachineFunctionPass::runOnFunction(llvm::Function&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/CodeGen/MachineFunctionPass.cpp:91
#17 0x00007fffe69ab989 in llvm::FPPassManager::runOnFunction(llvm::Function&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/IR/LegacyPassManager.cpp:1430
#18 0x00007fffe822aefa in RunPassOnSCC () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/Analysis/CallGraphSCCPass.cpp:179
#19 RunAllPassesOnSCC () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/Analysis/CallGraphSCCPass.cpp:469
#20 runOnModule() () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/Analysis/CallGraphSCCPass.cpp:534
#21 0x00007fffe69ac6ac in runOnModule () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/IR/LegacyPassManager.cpp:1545
#22 llvm::legacy::PassManagerImpl::run(llvm::Module&) () at /usr/src/debug/llvm/llvm-16.0.6.src/lib/IR/LegacyPassManager.cpp:535
#23 0x00007fff84a2f380 in ac_compile_module_to_elf () at ../mesa-23.2.1/src/amd/llvm/ac_llvm_helper.cpp:270
#24 si_compile_llvm() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_shader_llvm.c:83
#25 0x00007fff84a30009 in si_get_shader_part() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_shader.c:2882
#26 0x00007fff84a4fffc in si_shader_select_ps_parts () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_shader.c:3160
#27 si_create_shader_variant() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_shader.c:3293
#28 0x00007fff84a5c2cf in si_build_shader_variant() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_shaders.cpp:2520
#29 0x00007fff84a67c4d in si_shader_select_with_key<false, si_shader_key_ps> () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_shaders.cpp:2863
#30 si_shader_select() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_shaders.cpp:2883
#31 0x00007fff84eeec55 in si_update_shaders<(amd_gfx_level)13, (si_has_tess)0, (si_has_gs)0, (si_has_ngg)1>() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_draw.cpp:257
#32 0x00007fff84ef8cf3 in si_draw<(amd_gfx_level)13, (si_has_tess)0, (si_has_gs)0, (si_has_ngg)1, (si_is_draw_vertex_state)0, (si_has_pairs)0, (util_popcnt)0> () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_draw.cpp:2565
#33 si_draw_vbo<(amd_gfx_level)13, (si_has_tess)0, (si_has_gs)0, (si_has_ngg)1, (si_has_pairs)0>() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_draw.cpp:2714
#34 0x00007fff84dad593 in si_draw_rectangle() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_state_draw.cpp:2780
#35 0x00007fff84dc7239 in util_blitter_custom_color() () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_blitter.c:2771
#36 0x00007fff84aa92dc in si_blit_decompress_color() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_blit.c:504
#37 0x00007fff84ab6fe2 in si_flush_resource () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_blit.c:1332
#38 si_flush_resource() () at ../mesa-23.2.1/src/gallium/drivers/radeonsi/si_blit.c:1323
#39 0x00007fff84809487 in tc_call_flush_resource() () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_threaded_context.c:4390
#40 0x00007fff847e8219 in batch_execute () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_threaded_context.c:394
#41 tc_batch_execute() () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_threaded_context.c:445
#42 0x00007fff8567f72a in _tc_sync.isra.0 () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_threaded_context.c:680
#43 0x00007fff8480b018 in tc_flush() () at ../mesa-23.2.1/src/gallium/auxiliary/util/u_threaded_context.c:3587
#44 0x00007fff8438753f in st_flush () at ../mesa-23.2.1/src/mesa/state_tracker/st_cb_flush.c:63
#45 st_context_flush() () at ../mesa-23.2.1/src/mesa/state_tracker/st_manager.c:822
#46 0x00007fff842be454 in dri_flush() () at ../mesa-23.2.1/src/gallium/frontends/dri/dri_drawable.c:537
#47 0x00007fff8d9def58 in dri2_flush_drawable_for_swapbuffers () at ../mesa-23.2.1/src/egl/drivers/dri2/egl_dri2.c:1867
#48 dri2_wl_swap_buffers_with_damage () at ../mesa-23.2.1/src/egl/drivers/dri2/platform_wayland.c:1612
#49 0x00007fff8d9cf328 in dri2_swap_buffers () at ../mesa-23.2.1/src/egl/drivers/dri2/egl_dri2.c:1881
#50 0x00007fff8d9c706d in eglSwapBuffers () at ../mesa-23.2.1/src/egl/main/eglapi.c:1433
#51 0x0000555557eb4744 in GHOST_ContextEGL::initializeDrawingContext() ()
#52 0x0000555557eb2f68 in GHOST_WindowWayland::newDrawingContext(GHOST_TDrawingContextType) ()
#53 0x0000555557e93759 in GHOST_Window::setDrawingContextType(GHOST_TDrawingContextType) ()
#54 0x0000555557eb119b in GHOST_WindowWayland::GHOST_WindowWayland(GHOST_SystemWayland*, char const*, int, int, unsigned int, unsigned int, GHOST_TWindowState, GHOST_IWindow const*, GHOST_TDrawingContextType, bool, bool, bool) ()
#55 0x0000555557eae3d4 in GHOST_SystemWayland::createWindow(char const*, int, int, unsigned int, unsigned int, GHOST_TWindowState, GHOST_GPUSettings, bool, bool, GHOST_IWindow const*) ()
#56 0x0000555557e8fca4 in GHOST_CreateWindow ()
#57 0x000055555656a7d2 in wm_window_ghostwindow_ensure(wmWindowManager*, wmWindow*, bool) ()
#58 0x000055555656aa1d in wm_window_ghostwindows_ensure(wmWindowManager*) ()
#59 0x0000555556534454 in WM_check(bContext*) ()
#60 0x000055555654a2de in wm_homefile_read_ex(bContext*, wmHomeFileRead_Params const*, ReportList*, wmFileReadPost_Params**) ()
#61 0x000055555654f9f4 in WM_init(bContext*, int, char const**) ()
#62 0x0000555555de1681 in main ()
All the drivers provided by the mesa package link with LLVM16?
$ lddtree /usr/lib/dri/radeonsi_dri.so
/usr/lib/dri/radeonsi_dri.so (interpreter => None)
libglapi.so.0 => /usr/lib/libglapi.so.0
libdrm.so.2 => /usr/lib/libdrm.so.2
libLLVM-16.so => /usr/lib/libLLVM-16.so
libffi.so.8 => /usr/lib/libffi.so.8
libedit.so.0 => /usr/lib/libedit.so.0
libncursesw.so.6 => /usr/lib/libncursesw.so.6
libxml2.so.2 => /usr/lib/libxml2.so.2
liblzma.so.5 => /usr/lib/liblzma.so.5
libicuuc.so.73 => /usr/lib/libicuuc.so.73
libicudata.so.73 => /usr/lib/libicudata.so.73
ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
libexpat.so.1 => /usr/lib/libexpat.so.1
libz.so.1 => /usr/lib/libz.so.1
libzstd.so.1 => /usr/lib/libzstd.so.1
libsensors.so.5 => /usr/lib/libsensors.so.5
libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1
libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2
libdrm_intel.so.1 => /usr/lib/libdrm_intel.so.1
libpciaccess.so.0 => /usr/lib/libpciaccess.so.0
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0
libxcb.so.1 => /usr/lib/libxcb.so.1
libXau.so.6 => /usr/lib/libXau.so.6
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
$ lddtree /usr/lib/dri/iris_dri.so
/usr/lib/dri/iris_dri.so (interpreter => None)
libglapi.so.0 => /usr/lib/libglapi.so.0
libdrm.so.2 => /usr/lib/libdrm.so.2
libLLVM-16.so => /usr/lib/libLLVM-16.so
libffi.so.8 => /usr/lib/libffi.so.8
libedit.so.0 => /usr/lib/libedit.so.0
libncursesw.so.6 => /usr/lib/libncursesw.so.6
libxml2.so.2 => /usr/lib/libxml2.so.2
liblzma.so.5 => /usr/lib/liblzma.so.5
libicuuc.so.73 => /usr/lib/libicuuc.so.73
libicudata.so.73 => /usr/lib/libicudata.so.73
ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
libexpat.so.1 => /usr/lib/libexpat.so.1
libz.so.1 => /usr/lib/libz.so.1
libzstd.so.1 => /usr/lib/libzstd.so.1
libsensors.so.5 => /usr/lib/libsensors.so.5
libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1
libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2
libdrm_intel.so.1 => /usr/lib/libdrm_intel.so.1
libpciaccess.so.0 => /usr/lib/libpciaccess.so.0
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0
libxcb.so.1 => /usr/lib/libxcb.so.1
libXau.so.6 => /usr/lib/libXau.so.6
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
$ lddtree /usr/lib/dri/i915_dri.so
/usr/lib/dri/i915_dri.so (interpreter => None)
libglapi.so.0 => /usr/lib/libglapi.so.0
libdrm.so.2 => /usr/lib/libdrm.so.2
libLLVM-16.so => /usr/lib/libLLVM-16.so
libffi.so.8 => /usr/lib/libffi.so.8
libedit.so.0 => /usr/lib/libedit.so.0
libncursesw.so.6 => /usr/lib/libncursesw.so.6
libxml2.so.2 => /usr/lib/libxml2.so.2
liblzma.so.5 => /usr/lib/liblzma.so.5
libicuuc.so.73 => /usr/lib/libicuuc.so.73
libicudata.so.73 => /usr/lib/libicudata.so.73
ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
libexpat.so.1 => /usr/lib/libexpat.so.1
libz.so.1 => /usr/lib/libz.so.1
libzstd.so.1 => /usr/lib/libzstd.so.1
libsensors.so.5 => /usr/lib/libsensors.so.5
libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1
libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2
libdrm_intel.so.1 => /usr/lib/libdrm_intel.so.1
libpciaccess.so.0 => /usr/lib/libpciaccess.so.0
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0
libxcb.so.1 => /usr/lib/libxcb.so.1
libXau.so.6 => /usr/lib/libXau.so.6
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
$ lddtree /usr/lib/dri/nouveau_dri.so
/usr/lib/dri/nouveau_dri.so (interpreter => None)
libglapi.so.0 => /usr/lib/libglapi.so.0
libdrm.so.2 => /usr/lib/libdrm.so.2
libLLVM-16.so => /usr/lib/libLLVM-16.so
libffi.so.8 => /usr/lib/libffi.so.8
libedit.so.0 => /usr/lib/libedit.so.0
libncursesw.so.6 => /usr/lib/libncursesw.so.6
libxml2.so.2 => /usr/lib/libxml2.so.2
liblzma.so.5 => /usr/lib/liblzma.so.5
libicuuc.so.73 => /usr/lib/libicuuc.so.73
libicudata.so.73 => /usr/lib/libicudata.so.73
ld-linux-x86-64.so.2 => /usr/lib/ld-linux-x86-64.so.2
libexpat.so.1 => /usr/lib/libexpat.so.1
libz.so.1 => /usr/lib/libz.so.1
libzstd.so.1 => /usr/lib/libzstd.so.1
libsensors.so.5 => /usr/lib/libsensors.so.5
libdrm_radeon.so.1 => /usr/lib/libdrm_radeon.so.1
libelf.so.1 => /usr/lib/libelf.so.1
libdrm_amdgpu.so.1 => /usr/lib/libdrm_amdgpu.so.1
libdrm_nouveau.so.2 => /usr/lib/libdrm_nouveau.so.2
libdrm_intel.so.1 => /usr/lib/libdrm_intel.so.1
libpciaccess.so.0 => /usr/lib/libpciaccess.so.0
libxcb-dri3.so.0 => /usr/lib/libxcb-dri3.so.0
libxcb.so.1 => /usr/lib/libxcb.so.1
libXau.so.6 => /usr/lib/libXau.so.6
libXdmcp.so.6 => /usr/lib/libXdmcp.so.6
libstdc++.so.6 => /usr/lib/libstdc++.so.6
libm.so.6 => /usr/lib/libm.so.6
libgcc_s.so.1 => /usr/lib/libgcc_s.so.1
libc.so.6 => /usr/lib/libc.so.6
for information, I have tested blender-4.0.1-linux-x64.tar.xz downloaded from blender.org:
* blender starts without segfaulting, however attempting to enable HIP backend for cycles (i am on a rx6800) freezes blender itself, leading to a 'defunct' process that also hangs the system reboot/shut down process
I tested latest blender 3.6.5 from my pacman cache (blender 3.6.5-2, also downgrading openvb to 10.1.0-1) and I experience the same issue:
* blender starts without segfaulting, however attempting to enable HIP backend for cycles freezes blender itself, leading to a 'defunct' process that also hangs the system reboot/shut down process
I am on the latest rocm+hip stack (5.7.1).
The above did not happen with the older rocm+hip stack (5.6.1)
with regards to my previous comment, see bug report:
FS#80326https://wiki.archlinux.org/title/AMDGPU_PRO
Launch blender with `progl blender`
attached gdb debug info of blender 4.0.1-3 crash if still needed.
All in all, I think I probably shouldn't change the Blender package for this as it appears to be an artifact of a bug in ROCm or Mesa with Radeon specifically.
Also, I think the reason this is a problem for Radeon users is because ROCm is linked against LLVM 15 to avoid some sort of crash bug with newer versions. I'm guessing the latest 17 would break even more things for both Mesa and ROCm.
I can understand the reasoning here, and yet it means people with AMD gpus (and mesa drivers) won't be able to use the one available blender package in the official arch repos, right?
At the very least this will prompt repeated bug reports and forum threads.
Would it be acceptable to create a package blender-amd with OSL disabled? Alternatively print a note in post install of the blender package to point out the issue and that users with AMD cards should use an alternative package from the AUR?
> All the drivers provided by the mesa package link with LLVM16?
Yeah I guess so, but there's something seriously broken for it to jump from LLVM 16's library into LLVM 15's library. Maybe a symbol isn't versioned properly, or something very cursed is happening with object vtables. I don't know. Regardless the presence of two different LLVM versions is a prerequisite for the problem.
I can confirm this too.
Edit:
I was mistaken, there has been an soname bump so you would need to rebuild blender.
just run a pacman -Syu and got a few new packages including blender 4.0.1-5
It still causes segmentation fault.
Attached gdb out with debug info
The kernel bugging out when using HIP is this probably: https://gitlab.freedesktop.org/drm/amd/-/issues/2991
Rebuilt for openimagedenoise 2.1.0 see also attached PKGBUILD.diff which shows the changes I made so you can do it locally if required for future updates. The pkgrel is 5.2 as 5.1 was an unsuccessful test using openshadinglanuage-git which is compatible with clang 16 but not compatible with blender 17:4.0.1.
https://drive.google.com/file/d/1u9hjrnpzkZmZJ2L3_WoLaOzsyk2uGYxx/view?usp=sharing