Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash launching Hyprland on (properly configured) VMWare Workstation Arch Linux VM #110

Open
b4shful opened this issue Nov 19, 2024 · 4 comments

Comments

@b4shful
Copy link

b4shful commented Nov 19, 2024

This VM was working previously, seems like a regression potentially in Aquamarine v5? Been using hyprland-git and aquamarine-git etc.

3D acceleration etc. is enabled and the proper VMWare graphics driver is loaded.

This might be a duplicate of other crashes reported here but I'm not sure, feel free to mark as duplicate if you find which specific issue this aligns with.

Quickly checked to see if Sway works, and it launches fine.

Also occurs both when launching Hyprland from the tty and when using uwsm so it's not related to that.

Details

--------------------------------------------
   Hyprland Crash Report
--------------------------------------------
Vaxry is going to be upset.

Hyprland received signal 6(ABRT)
Version: 67cee430061626ccd73dc6d30eed9db289053608
Tag: v0.45.0-47-g67cee430
Date: Tue Nov 19 01:16:11 2024
Flags:

System info:
	System name: Linux
	Node name: lobster-vm-archlinux
	Release: 6.11.9-arch1-1
	Version: #1 SMP PREEMPT_DYNAMIC Sun, 17 Nov 2024 16:06:17 +0000

GPU:
	00:0f.0 VGA compatible controller [0300]: VMware SVGA II Adapter [15ad:0405] (prog-if 00 [VGA controller])
	Subsystem: VMware SVGA II Adapter [15ad:0405]


os-release:
	NAME="Arch Linux"
	PRETTY_NAME="Arch Linux"
	ID=arch
	BUILD_ID=rolling
	ANSI_COLOR="38;2;23;147;209"
	HOME_URL="https://archlinux.org/"
	DOCUMENTATION_URL="https://wiki.archlinux.org/"
	SUPPORT_URL="https://bbs.archlinux.org/"
	BUG_REPORT_URL="https://gitlab.archlinux.org/groups/archlinux/-/issues"
	PRIVACY_POLICY_URL="https://terms.archlinux.org/docs/privacy-policy/"
	LOGO=archlinux-logo
Backtrace:
	# | Hyprland(_Z12getBacktracev+0x46) [0x6463360437b6]
		getBacktrace()
		??:?
	#1 | Hyprland(_ZN13CrashReporter18createAndSaveCrashEi+0xabe) [0x646335fca8de]
		CrashReporter::createAndSaveCrash(int)
		??:?
	#2 | Hyprland(_Z25handleUnrecoverableSignali+0x5c) [0x646335f5800c]
		handleUnrecoverableSignal(int)
		??:?
	#3 | /usr/lib/libc.so.6(+0x3d1d0) [0x7efd7c35d1d0]
		??
		??:0
	#4 | /usr/lib/libc.so.6(+0x963f4) [0x7efd7c3b63f4]
		??
		??:0
	#5 | /usr/lib/libc.so.6(gsignal+0x20) [0x7efd7c35d120]
		??
		??:0
	#6 | /usr/lib/libc.so.6(abort+0xdf) [0x7efd7c3444c3]
		??
		??:0
	#7 | /usr/lib/libstdc++.so.6(+0x97b2c) [0x7efd7c697b2c]
		??
		??:0
	#8 | /usr/lib/libstdc++.so.6(+0xadf3a) [0x7efd7c6adf3a]
		??
		??:0
	#9 | /usr/lib/libstdc++.so.6(_ZSt10unexpectedv+0) [0x7efd7c69752a]
		??
		??:0
	#1 | /usr/lib/libstdc++.so.6(+0xae1f6) [0x7efd7c6ae1f6]
		??
		??:0
	#11 | /usr/lib/libstdc++.so.6(_ZSt24__throw_out_of_range_fmtPKcz+0x162) [0x7efd7c69b423]
		??
		??:0
	#12 | /usr/lib/libaquamarine.so.4(+0x28731) [0x7efd7d018731]
		??
		??:0
	#13 | Hyprland(_ZN13CMonitorState19ensureBufferPresentEv+0x2d3) [0x64633604dbc3]
		CMonitorState::ensureBufferPresent()
		??:?
	#14 | Hyprland(_ZN13CMonitorState4testEv+0x20) [0x64633604de20]
		CMonitorState::test()
		??:?
	#15 | Hyprland(_ZN13CHyprRenderer16applyMonitorRuleEN9Hyprutils6Memory14CSharedPointerI8CMonitorEEP12SMonitorRuleb+0x9b2) [0x6463362525c2]
		CHyprRenderer::applyMonitorRule(Hyprutils::Memory::CSharedPointer<CMonitor>, SMonitorRule*, bool)
		??:?
	#16 | Hyprland(_ZN8CMonitor9onConnectEb+0xd72) [0x6463360470a2]
		CMonitor::onConnect(bool)
		??:?
	#17 | Hyprland(_ZN11CCompositor12onNewMonitorEN9Hyprutils6Memory14CSharedPointerIN10Aquamarine7IOutputEEE+0x2a4) [0x646335f78864]
		CCompositor::onNewMonitor(Hyprutils::Memory::CSharedPointer<Aquamarine::IOutput>)
		??:?
	#18 | Hyprland(_ZN11CCompositor10initServerENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEi+0xd86) [0x646335f5ff16]
		CCompositor::initServer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int)
		??:?
	#19 | Hyprland(main+0xaac) [0x646335ee40ac]
		main
		??:?
	#2 | /usr/lib/libc.so.6(+0x25e08) [0x7efd7c345e08]
		??
		??:0
	#21 | /usr/lib/libc.so.6(__libc_start_main+0x8c) [0x7efd7c345ecc]
		??
		??:0
	#22 | Hyprland(_start+0x25) [0x646335f14775]
		_start
		??:?


Log tail:
[LOG] XCursor theme Adwaita inherits AdwaitaLegacy
[LOG] XCursor theme Adwaita inherits hicolor
[LOG] XCursor scanning theme AdwaitaLegacy
[LOG] XCursor parsing index.theme /usr/share/icons/AdwaitaLegacy/index.theme
[LOG] XCursor theme AdwaitaLegacy inherits hicolor
[LOG] XCursor scanning theme hicolor
[LOG] XCursor parsing index.theme /usr/share/icons/hicolor/index.theme
[LOG] XCursor already has a shape default loaded, skipping
[LOG] XCursor already has a shape context-menu loaded, skipping
[LOG] XCursor already has a shape help loaded, skipping
[LOG] XCursor already has a shape pointer loaded, skipping
[LOG] XCursor already has a shape progress loaded, skipping
[LOG] XCursor already has a shape wait loaded, skipping
[LOG] XCursor failed to find a legacy shape with name plus, skipping
[LOG] XCursor already has a shape crosshair loaded, skipping
[LOG] XCursor already has a shape text loaded, skipping
[LOG] XCursor already has a shape vertical-text loaded, skipping
[LOG] XCursor failed to find a legacy shape with name dnd-link, skipping
[LOG] XCursor failed to find a legacy shape with name dnd-copy, skipping
[LOG] XCursor already has a shape move loaded, skipping
[LOG] XCursor failed to find a legacy shape with name dnd-none, skipping
[LOG] XCursor failed to find a legacy shape with name crossed_circle, skipping
[LOG] XCursor already has a shape grab loaded, skipping
[LOG] XCursor already has a shape grabbing loaded, skipping
[LOG] XCursor already has a shape e-resize loaded, skipping
[LOG] XCursor already has a shape n-resize loaded, skipping
[LOG] XCursor already has a shape ne-resize loaded, skipping
[LOG] XCursor already has a shape nw-resize loaded, skipping
[LOG] XCursor already has a shape s-resize loaded, skipping
[LOG] XCursor already has a shape se-resize loaded, skipping
[LOG] XCursor already has a shape sw-resize loaded, skipping
[LOG] XCursor already has a shape w-resize loaded, skipping
[LOG] XCursor already has a shape ew-resize loaded, skipping
[LOG] XCursor already has a shape ns-resize loaded, skipping
[LOG] XCursor already has a shape nesw-resize loaded, skipping
[LOG] XCursor already has a shape nwse-resize loaded, skipping
[LOG] XCursor already has a shape col-resize loaded, skipping
[LOG] XCursor already has a shape row-resize loaded, skipping
[LOG] XCursor already has a shape all-scroll loaded, skipping
[LOG] XCursor already has a shape zoom-in loaded, skipping
[LOG] XCursor already has a shape zoom-out loaded, skipping
[LOG] Starting XWayland
[LOG] Starting up the XWayland server
[LOG] XWayland found a suitable display socket at DISPLAY: :0
[LOG] New output with name Virtual-1
[LOG] [hookSystem] New hook event registered: newMonitor
[LOG] [hookSystem] New hook event registered: preMonitorAdded
[WARN] No rule found for Virtual-1, trying to use the first.
[WARN] No rules configured. Using the default hardcoded one.
[LOG] Applying monitor rule for Virtual-1
[LOG] Setting preferred mode for Virtual-1
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3457, y: 1937] and format XR24 with modifier 0 aka LINEAR
[LOG] [AQ] GBM: Allocated a new buffer with size [Vector2D: x: 3457, y: 1937] and format XR24 with modifier 0 aka LINEAR
[LOG] [AQ] Swapchain: Reconfigured a swapchain to [Vector2D: x: 3457, y: 1937] XR24 of length 2
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible
[ERR] [AQ] drm: No renderer attached to backend
[ERR] output Virtual-1 failed basic test on format DRM_FORMAT_XRGB8888
[ERR] [AQ] GBM: Allocating with modifiers failed, falling back to modifier-less allocation
[ERR] [AQ] GBM: Failed to allocate a GBM buffer: bo null
[ERR] [AQ] Couldn't allocate a gbm buffer with size [Vector2D: x: 3457, y: 1937] and format XB24
[ERR] [AQ] Swapchain: Failed acquiring a buffer
[ERR] output Virtual-1 failed basic test on format DRM_FORMAT_XBGR8888
[LOG] CMonitorState::ensureBufferPresent: no buffer or mismatched format, attaching one from the swapchain for modeset being possible

hyprlandCrashReport1133.txt

@elenacrs
Copy link

the same issue here. with the same log, it worked well before.

log
zoom

@vaxerski
Copy link
Member

vaxerski commented Nov 22, 2024

I'll need a debug stacktrace from both aq and hyprland built in debug. https://wiki.hyprland.org/Crashes-and-Bugs/#obtaining-a-debug-stacktrace

@b4shful
Copy link
Author

b4shful commented Nov 22, 2024

Hopefully this is sufficient, I built hyprland-git with makepkg.conf set to also install the -debug package (for Debuginfod). Not 100% sure if I did it right because I see some compiler optimisations, but I'm not sure if the debug build completely disables optimisations or still has some so idk.

Let me know if you need anything else.

Expand for gdb.txt contents

#0  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {2334406575183128692}}
        ret = <optimized out>
#1  0x00007550c79b6463 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2  0x00007550c795d120 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#3  0x00007550c79444c3 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {7308332162361602349, 2333824976184025188, 2336927441835222388, 4909051555630706534, 4705507686108581202, 4051078330829004628, 6721428158237259832, 8031159958543090464, 4195777553374663538, 8449427393171648101, 8315177976851687014, 97, 128986457833518, 140733870112080, 1888534939871977472, 103046771613888}}, sa_flags = 6, sa_restorer = 0x7550bb3e1b80}
#4  0x00005db86705bd11 in handleUnrecoverableSignal (sig=6) at ../src/Compositor.cpp:80
#5  0x00007550c795d1d0 in <signal handler called> () at /usr/lib/libc.so.6
#6  __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
        tid = <optimized out>
        ret = 0
        pd = <optimized out>
        old_mask = {__val = {128989811065238}}
        ret = <optimized out>
#7  0x00007550c79b6463 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#8  0x00007550c795d120 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
        ret = <optimized out>
#9  0x00007550c79444c3 in __GI_abort () at abort.c:79
        save_stage = 1
        act = {__sigaction_handler = {sa_handler = 0x20, sa_sigaction = 0x20}, sa_mask = {__val = {128989599243136, 103046763618472, 103046587643512, 140733870113824, 128989806637457, 140733870113888, 128989808067808, 140733870113872, 128989806638859, 1, 128989808067808, 10, 128989599243136, 140733870113936, 128989806622290, 140733870113936}}, sa_flags = -946212134, sa_restorer = 0x5db871bffe18}
#10 0x00007550c7c97b2c in __gnu_cxx::__verbose_terminate_handler () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/vterminate.cc:95
        terminating = true
        t = <optimized out>
#11 0x00007550c7cadf3a in __cxxabiv1::__terminate (handler=<optimized out>) at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:48
#12 0x00007550c7c9752a in std::terminate () at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_terminate.cc:58
#13 0x00007550c7cae1f6 in __cxxabiv1::__cxa_throw (obj=<optimized out>, tinfo=0x7550c7e76dc0 <typeinfo for std::out_of_range>, dest=0x7550c7cc5750 <std::out_of_range::~out_of_range()>) at /usr/src/debug/gcc/gcc/libstdc++-v3/libsupc++/eh_throw.cc:98
        globals = <optimized out>
        header = 0x5db872376e00
#14 0x00007550c7c9b423 in std::__throw_out_of_range_fmt (__fmt=__fmt@entry=0x7550c8715738 "vector::_M_range_check: __n (which is %zu) >= this->size() (which is %zu)") at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/functexcept.cc:101
        __len = <optimized out>
        __alloca_size = <optimized out>
        __s = 0x7fff28560530 "vector::_M_range_check: __n (which is 1) >= this->size() (which is 0)"
        __ap = {{gp_offset = 24, fp_offset = 48, overflow_arg_area = 0x7fff28560890, reg_save_area = 0x7fff285607b0}}
#15 0x00007550c865b731 in std::vector<Hyprutils::Memory::CSharedPointer<Aquamarine::IBuffer>, std::allocator<Hyprutils::Memory::CSharedPointer<Aquamarine::IBuffer> > >::_M_range_check (this=<optimized out>, __n=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_vector.h:1160
#16 std::vector<Hyprutils::Memory::CSharedPointer<Aquamarine::IBuffer>, std::allocator<Hyprutils::Memory::CSharedPointer<Aquamarine::IBuffer> > >::at (this=0x5db87195b850, __n=<optimized out>) at /usr/include/c++/14.2.1/bits/stl_vector.h:1182
#17 Aquamarine::CSwapchain::next (this=0x5db87195b810, age=0x0) at /usr/src/debug/aquamarine-git/aquamarine/src/allocator/Swapchain.cpp:69
#18 0x00005db867151103 in CMonitorState::ensureBufferPresent (this=0x5db871c004a0) at ../src/helpers/Monitor.cpp:1036
        STATE = Python Exception <class 'RuntimeError'>: Type is not a template.
{committed = 226, damage = {m_rRegion = {extents = {x1 = 0, y1 = 0, x2 = 0, y2 = 0}, data = 0x7550c80a3e30 <pixman_region32_empty_data_>}}, enabled = true, adaptiveSync = false, presentationMode = 0, gammaLut = {<No data fields>}, lastModeSize = {x = 0, y = 0}, mode = {impl_ = 0x5db8718ad6e0}, customMode = {impl_ = 0x0}, drmFormat = 0, buffer = {impl_ = 0x5db871b8f770}, explicitInFence = -1, explicitOutFence = -1, ctm = {matrix = {_M_elems = {0, 0, 0, 0, 0, 0, 0, 0, 0}}}}
#19 0x00005db867151360 in CMonitorState::test (this=0x5db871c004a0) at ../src/helpers/Monitor.cpp:1056
#20 CMonitorState::test (this=0x5db871c004a0) at ../src/helpers/Monitor.cpp:1052
#21 0x00005db867355bb2 in CHyprRenderer::applyMonitorRule (this=0x6905, pMonitor=..., pMonitorRule=0x0, force=244) at ../src/render/Renderer.cpp:2281
        WAS10B = <optimized out>
        OLDRES = {x = 0, y = 0}
        autoScale = <optimized out>
        set10bit = <optimized out>
        logicalSize = {x = 5.0911779918109259e-310, y = 5.0911778643185705e-310}
        xfmd = {x = 0, y = 0}
#22 0x00005db86714a5e2 in CMonitor::onConnect (this=0x5db871c00360, noRule=5) at ../src/helpers/Monitor.cpp:175
        x = {fn = {_M_invoker = 0x5db8671521b0 <std::_Function_handler<void (), CMonitor::onConnect(bool)::{lambda()#1}>::_M_invoke(std::_Any_data const&) [clone .lto_priv.0]>}}
        monitorRule = Python Exception <class 'gdb.error'>: There is no member named _M_payload.
{autoDir = 4, name = "", resolution = {x = 0, y = 0}, offset = {x = -2147483647, y = -2147483647}, scale = -1, refreshRate = 60, disabled = false, transform = 0, mirrorOf = "", enable10bit = false, drmMode = {clock = 0, hdisplay = 0, hsync_start = 0, hsync_end = 0, htotal = 0, hskew = 0, vdisplay = 0, vsync_start = 0, vsync_end = 0, vtotal = 0, vscan = 0, vrefresh = 0, flags = 0, type = 0, name = '\000' <repeats 31 times>}, vrr = {<No data fields>}}
        thisWrapper = <optimized out>
        found = <optimized out>
#23 0x00005db86707c564 in CCompositor::onNewMonitor (this=0x6905, output=...) at ../src/Compositor.cpp:3071
        PNEWMONITOR = {impl_ = 0x5db871bfc880}
#24 0x00005db867063c16 in CCompositor::initServer (this=0x5db871847fd0, socketName=<error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>, socketFd=676728960) at ../src/Compositor.cpp:339
        options = {logFunction = {_M_invoker = 0x5db86707d220 <std::_Function_handler<void (Aquamarine::eBackendLogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), void (*)(Aquamarine::eBackendLogLevel, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)>::_M_invoke(std::_Any_data const&, Aquamarine::eBackendLogLevel&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)>}}
        implementations = Python Exception <class 'RuntimeError'>: Type is not a template.
{<No data fields>}
        option = {backendType = 0, backendRequestMode = 2}
#25 0x00005db866fe7f0c in main (argc=26885, argv=0x6905) at ../src/main.cpp:165
        cmd = "Hyprland"
        configPath = ""
        socketName = ""
        socketFd = -1
        ignoreSudo = <optimized out>
        args = Python Exception <class 'RuntimeError'>: Type is not a template.
{<No data fields>}

gdb.txt whole file

Sidenote:
Instructions in the wiki currently say to use set tracing on, which is deprecated:

image

@b4shful
Copy link
Author

b4shful commented Nov 22, 2024

Ah ffs, just read my own file and I think gdb's embedded python may be playing up haha
@vaxerski I haven't found a fix for what seems like an error in the gdb's python doing the pretty printing or something(?) but perhaps there's enough there already to find the issue

if not lmk I'll try again

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants