Admenri / rguplayer

The Universal Ruby Game Engine (RGU) Project
BSD 3-Clause "New" or "Revised" License
21 stars 6 forks source link

[Bug]项目编译失败,修补后编译的程序运行游戏时闪退 #12

Open donmor opened 1 month ago

donmor commented 1 month ago

我的编译环境为Arch Linux(已滚至最新)+GCC13/GCC14+Ruby 3.0.6,按照README编译时多次报错,在修补了部分文件后编译出可执行文件rgm,用来测试运行游戏(使用青鬼6.23汉化版)时,程序每次均卡死(使用killall -9结束)或闪退,日志中有[LOG] [Binding] Quit mri binding engine.,推测是Ruby部分出错。 使用GDB调试,在binding/mri/mri_util.h:150binding/mri/mri_main.cc:405处下断点,于150行处获取到每个载入Ruby的脚本,最终在载入102: Main时产生非0state,转至405行,循环中断。 已在x86_64和loongarch64(龙芯的自主架构)复现。 所做的改动:

$ git diff
diff --git a/app/rgu_main.cc b/app/rgu_main.cc
index 8e528b6..13ed552 100644
--- a/app/rgu_main.cc
+++ b/app/rgu_main.cc
@@ -148,10 +148,12 @@ int main(int argc, char* argv[]) {

 #if defined(OS_LINUX)
   auto* icon_ops =
-      SDL_RWFromConstMem(rgu_favicon_64_png, rgu_favicon_64_png_len);
+      SDL_IOFromConstMem(rgu_favicon_64_png, rgu_favicon_64_png_len);  // Renamed
+      //SDL_RWFromConstMem(rgu_favicon_64_png, rgu_favicon_64_png_len);

   if (icon_ops) {
-    auto* icon = IMG_Load_RW(icon_ops, SDL_TRUE);
+    //auto* icon = IMG_Load_RW(icon_ops, SDL_TRUE);
+    auto* icon = IMG_Load_IO(icon_ops, SDL_TRUE);  // Renamed

     if (icon) {
       SDL_SetWindowIcon(win->AsSDLWindow(), icon);
diff --git a/base/CMakeLists.txt b/base/CMakeLists.txt
index 231dc50..ee88637 100644
--- a/base/CMakeLists.txt
+++ b/base/CMakeLists.txt
@@ -66,5 +66,6 @@ endif()
 if (MSVC)
   target_compile_options(core_base PRIVATE /O2 /WX "$<$<CXX_COMPILER_ID:MSVC>:-utf-8>")
 else()
-  target_compile_options(core_base PRIVATE -O2 -Werror)
+   #target_compile_options(core_base PRIVATE -O2 -Werror)
+   #target_compile_options(core_base PRIVATE -O2)  # Removed -Werror
 endif()
diff --git a/base/buildflags/build.h b/base/buildflags/build.h
index 2b331c7..d4189fb 100644
--- a/base/buildflags/build.h
+++ b/base/buildflags/build.h
@@ -197,6 +197,11 @@
 #elif defined(__pnacl__) || defined(__asmjs__) || defined(__wasm__)
 #define ARCH_CPU_32_BITS 1
 #define ARCH_CPU_LITTLE_ENDIAN 1
+#elif defined(__loongarch64)  // Add loongarch
+#define ARCH_CPU_LOONGARCH_FAMILY 1
+#define ARCH_CPU_LOONGARCH64 1
+#define ARCH_CPU_64_BITS 1
+#define ARCH_CPU_LITTLE_ENDIAN 1
 #elif defined(__MIPSEL__)
 #if defined(__LP64__)
 #define ARCH_CPU_MIPS_FAMILY 1
diff --git a/base/math/math.h b/base/math/math.h
index 58a3eed..80db061 100644
--- a/base/math/math.h
+++ b/base/math/math.h
@@ -332,7 +332,7 @@ class Rect {
     width = other.width;
     height = other.height;
     return other;
-  };
+  }  // Remove ';'

   bool operator==(const Rect& other) const {
     return other.x == x && other.y == y && other.width == width &&
@@ -453,4 +453,4 @@ class RectF {

 }  // namespace base

-#endif  // BASE_MATH_H_
\ No newline at end of file
+#endif  // BASE_MATH_H_
diff --git a/base/worker/run_loop.cc b/base/worker/run_loop.cc
index 6ab7469..764fa44 100644
--- a/base/worker/run_loop.cc
+++ b/base/worker/run_loop.cc
@@ -8,6 +8,7 @@
 #include <mutex>
 #include <queue>
 #include <thread>
+#include <condition_variable>  // Fix inclusions

 #include "base/third_party/concurrentqueue/blockingconcurrentqueue.h"

diff --git a/binding/mri/CMakeLists.txt b/binding/mri/CMakeLists.txt
index 81482fc..155013a 100644
--- a/binding/mri/CMakeLists.txt
+++ b/binding/mri/CMakeLists.txt
@@ -88,11 +88,18 @@ endif()

 add_library(binding_mri ${BINDING_MRI_SRC})
 target_link_libraries(binding_mri PUBLIC core_base core_renderer core_content core_ui mri_ruby zlibstatic)
-
+#target_link_libraries(binding_mri PUBLIC core_base core_renderer core_content core_ui mri_ruby zlibstatic -lruby)
+if (MSVC)  // From other modules
+  target_compile_options(binding_mri PRIVATE /O2 /WX "$<$<CXX_COMPILER_ID:MSVC>:-utf-8>")
+else()
+  #target_compile_options(binding_mri PRIVATE -O2 -Wno-incompatible-pointer-types)  // Suppress err
+  target_compile_options(binding_mri PRIVATE -Wno-incompatible-pointer-types)  // Remove -O2 for gdb debugging
+  endif()
 if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
 if(EXISTS ${LIBFFI_DIR})
   target_compile_definitions(binding_mri PRIVATE HAS_LIBFFI_SUPPORT=1)
   target_link_libraries(binding_mri PRIVATE external-libffi)
   target_include_directories(binding_mri PRIVATE fiddle)
 endif()
-endif()
\ No newline at end of file
+endif()
diff --git a/binding/mri/mri_main.cc b/binding/mri/mri_main.cc
index 3ba8575..2ee0a7d 100644
--- a/binding/mri/mri_main.cc
+++ b/binding/mri/mri_main.cc
@@ -39,9 +39,9 @@
 #include "zlib.h"

 extern "C" {
-#if RAPI_FULL >= 300
-void rb_call_builtin_inits();
-#endif
+//#if RAPI_FULL >= 300
+//void rb_call_builtin_inits();
+//#endif  // In order to link the executable

 void Init_zlib(void);
 void Init_fiddle(void);
@@ -201,9 +201,9 @@ void BindingEngineMri::InitializeBinding(

   ruby_init_loadpath();

-#if RAPI_FULL >= 300
-  rb_call_builtin_inits();
-#endif
+//#if RAPI_FULL >= 300
+//  rb_call_builtin_inits();
+//#endif  // In order to link the executable

   rb_enc_set_default_internal(rb_enc_from_encoding(rb_utf8_encoding()));
   rb_enc_set_default_external(rb_enc_from_encoding(rb_utf8_encoding()));
diff --git a/content/CMakeLists.txt b/content/CMakeLists.txt
index 0faa405..26e0b42 100644
--- a/content/CMakeLists.txt
+++ b/content/CMakeLists.txt
@@ -85,5 +85,6 @@ target_link_libraries(core_content PUBLIC
 if (MSVC)
   target_compile_options(core_content PRIVATE /O2 /WX "$<$<CXX_COMPILER_ID:MSVC>:-utf-8>")
 else()
-  target_compile_options(core_content PRIVATE -O2 -Werror)
+   #target_compile_options(core_content PRIVATE -O2 -Werror)
+   #target_compile_options(core_content PRIVATE -O2)  // Remove -Werror
 endif()
diff --git a/renderer/CMakeLists.txt b/renderer/CMakeLists.txt
index 93f3f83..82b13d3 100644
--- a/renderer/CMakeLists.txt
+++ b/renderer/CMakeLists.txt
@@ -72,5 +72,6 @@ target_link_libraries(core_renderer PUBLIC core_base)
 if (MSVC)
   target_compile_options(core_renderer PRIVATE /O2 /WX "$<$<CXX_COMPILER_ID:MSVC>:-utf-8>")
 else()
-  target_compile_options(core_renderer PRIVATE -O2 -Werror)
+   #target_compile_options(core_renderer PRIVATE -O2 -Werror)
+   #target_compile_options(core_renderer PRIVATE -O2)  // Remove -Werror
 endif()
diff --git a/third_party/SDL b/third_party/SDL
--- a/third_party/SDL
+++ b/third_party/SDL
@@ -1 +1 @@
-Subproject commit a8ed32c5f74d282a902f5629a1398235ccec0789
+Subproject commit a8ed32c5f74d282a902f5629a1398235ccec0789-dirty
diff --git a/third_party/SDL_image b/third_party/SDL_image
--- a/third_party/SDL_image
+++ b/third_party/SDL_image
@@ -1 +1 @@
-Subproject commit affd69f7c37cd1b1e81838adf0d4f91c8c15e07b
+Subproject commit affd69f7c37cd1b1e81838adf0d4f91c8c15e07b-dirty
diff --git a/third_party/SDL_ttf b/third_party/SDL_ttf
--- a/third_party/SDL_ttf
+++ b/third_party/SDL_ttf
@@ -1 +1 @@
-Subproject commit 221ca5c837b59d0f2038701fb11e0b2690a6eef1
+Subproject commit 221ca5c837b59d0f2038701fb11e0b2690a6eef1-dirty
diff --git a/third_party/physfs b/third_party/physfs
--- a/third_party/physfs
+++ b/third_party/physfs
@@ -1 +1 @@
-Subproject commit 31209b7c2ce629dbda0db2329ce469ab9a2b90b9
+Subproject commit 31209b7c2ce629dbda0db2329ce469ab9a2b90b9-dirty
diff --git a/third_party/vorbis b/third_party/vorbis
--- a/third_party/vorbis
+++ b/third_party/vorbis
@@ -1 +1 @@
-Subproject commit 84c023699cdf023a32fa4ded32019f194afcdad0
+Subproject commit 84c023699cdf023a32fa4ded32019f194afcdad0-dirty
diff --git a/third_party/zlib b/third_party/zlib
--- a/third_party/zlib
+++ b/third_party/zlib
@@ -1 +1 @@
-Subproject commit 5c42a230b7b468dff011f444161c0145b5efae59
+Subproject commit 5c42a230b7b468dff011f444161c0145b5efae59-dirty

其中:

diff --git a/binding/mri/mri_main.cc b/binding/mri/mri_main.cc
index 3ba8575..2ee0a7d 100644
--- a/binding/mri/mri_main.cc
+++ b/binding/mri/mri_main.cc
@@ -39,9 +39,9 @@
 #include "zlib.h"

 extern "C" {
-#if RAPI_FULL >= 300
-void rb_call_builtin_inits();
-#endif
+//#if RAPI_FULL >= 300
+//void rb_call_builtin_inits();
+//#endif  // In order to link the executable

 void Init_zlib(void);
 void Init_fiddle(void);
@@ -201,9 +201,9 @@ void BindingEngineMri::InitializeBinding(

   ruby_init_loadpath();

-#if RAPI_FULL >= 300
-  rb_call_builtin_inits();
-#endif
+//#if RAPI_FULL >= 300
+//  rb_call_builtin_inits();
+//#endif  // In order to link the executable

   rb_enc_set_default_internal(rb_enc_from_encoding(rb_utf8_encoding()));
   rb_enc_set_default_external(rb_enc_from_encoding(rb_utf8_encoding()));

此处删除了rb_call_builtin_inits,因为此处一直链接失败(报undefined reference),经查证此函数位于ruby/array.c,推测此处是一个失效的hack。此处较大可能导致了闪退。 顺便问一下主程最后一次构建出可用的二进制时使用了什么环境,Ruby版本多少?

donmor commented 1 month ago

升级系统ruby包至3.2.4,重新编译,仍然需要注释rb_call_builtin_inits,且出现新的报错:

$ ./rgu
[LOG] [App] Path: rgu
[LOG] [App] Configure: rgu.ini
[LOG] [Filesystem] BasePath: /home/donmor/AoOni/
[LOG] [Event] Audio device added: Dummy Output
[LOG] [Content] GLRenderer: softpipe
[LOG] [Content] GLVendor: Mesa
[LOG] [Content] GLVersion: OpenGL ES 3.1 Mesa 23.3.4-arch1.2
[LOG] [Content] GLSL: OpenGL ES GLSL ES 3.10
[LOG] [Content] MaxTextureSize: 16384x16384
[LOG] [Content] Running audio thread.
[LOG] [Binding] Content Version: RGSS1
[LOG] [Binding] CRuby Interpreter Version: 30200
[LOG] [Binding] CRuby Interpreter Platform: loongarch64-linux
ruby: [BUG] Segmentation fault at 0x0000000000000040
ruby 3.2.4 (2024-04-23 revision af471c0e01) [loongarch64-linux]

-- Control frame information -----------------------------------------------
c:0003 p:---- s:0009 e:000008 CFUNC  :load
c:0002 p:---- s:0006 E:0005c0 CFUNC  :load
c:0001 p:0000 s:0003 E:000690 DUMMY  [FINISH]

-- Ruby level backtrace information ----------------------------------------
ruby:0:in `load'
ruby:0:in `load'

-- C level backtrace information -------------------------------------------
/usr/lib/libruby.so.3.2(0x7ffff0ca897c) [0x7ffff0ca897c]
/usr/lib/libruby.so.3.2(0x7ffff0a94fa4) [0x7ffff0a94fa4]
/usr/lib/libruby.so.3.2(0x7ffff0bf5bc0) [0x7ffff0bf5bc0]
linux-vdso.so.1(__vdso_rt_sigreturn+0x0) [0x7ffffc7849a0]
[0x7ffff0a9a58c]
[0x7ffff0aa1e24]
[0x7ffff0aa200c]
/usr/lib/libruby.so.3.2(rb_exc_raise+0x14) [0x7ffff0aa2024]
/usr/lib/libruby.so.3.2(rb_raise+0x0) [0x7ffff0a96840]
/usr/lib/libruby.so.3.2(rb_raise+0x4c) [0x7ffff0a9688c]
[0x7ffff0b508dc]
/usr/lib/libruby.so.3.2(rb_convert_type_with_id+0x58) [0x7ffff0b52890]
/usr/lib/libruby.so.3.2(rb_string_value+0x2c) [0x7ffff0c1750c]
[0x7ffff0aa595c]
[0x7ffff0b0d11c]
[0x7ffff0c99e28]
[0x7ffff0c9a0c0]
/usr/lib/libruby.so.3.2(rb_funcallv+0x17c) [0x7ffff0c9e0d4]
/home/donmor/AoOni/rgu(0x5555565e54b0) [0x5555565e54b0]
[0x7ffff0c99e28]
/usr/lib/libruby.so.3.2(rb_funcallv+0x17c) [0x7ffff0c9e0d4]
/home/donmor/AoOni/rgu(0x5555565e5100) [0x5555565e5100]
/home/donmor/AoOni/rgu(0x5555565ce508) [0x5555565ce508]
/home/donmor/AoOni/rgu(0x5555565ce280) [0x5555565ce280]
/home/donmor/AoOni/rgu(0x5555565b1ec4) [0x5555565b1ec4]
/home/donmor/AoOni/rgu(0x5555565b4260) [0x5555565b4260]
/home/donmor/AoOni/rgu(0x5555565b4158) [0x5555565b4158]
/home/donmor/AoOni/rgu(0x5555565b404c) [0x5555565b404c]
/home/donmor/AoOni/rgu(0x5555565b3fd8) [0x5555565b3fd8]
/home/donmor/AoOni/rgu(0x5555565b3fa4) [0x5555565b3fa4]
[0x7ffff07ebdd4]
[0x7ffff04b8cf8]
[0x7ffff053efd4]

-- Other runtime information -----------------------------------------------

* Loaded script: ruby

* Loaded features:

    0 enumerator.so
    1 thread.rb
    2 fiber.so
    3 rational.so
    4 complex.so
    5 ruby2_keywords.rb

* Process memory map:

555556510000-555556f88000 r-xp 00000000 00:19 1497922                    /home/donmor/AoOni/rgu
555556f88000-555556fa0000 r--p 00a78000 00:19 1497922                    /home/donmor/AoOni/rgu
555556fa0000-555556fb8000 rw-p 00a90000 00:19 1497922                    /home/donmor/AoOni/rgu
555556fb8000-555557014000 rw-p 00000000 00:00 0 
555576f68000-555583368000 rw-p 00000000 00:00 0                          [heap]
7fff98000000-7fff9a7b8000 r--s 00000000 00:19 1497922                    /home/donmor/AoOni/rgu
7fff9c000000-7fff9e00c000 rw-p 00000000 00:00 0 
7fffa0000000-7fffa0024000 rw-p 00000000 00:00 0 
7fffa0024000-7fffa4000000 ---p 00000000 00:00 0 
7fffa8000000-7fffa8208000 rw-p 00000000 00:00 0 
7fffa8208000-7fffac000000 ---p 00000000 00:00 0 
7fffac000000-7fffad5f8000 rw-p 00000000 00:00 0 
7fffad5f8000-7fffb0000000 ---p 00000000 00:00 0 
7fffb4000000-7fffb7fd0000 rw-p 00000000 00:00 0 
7fffb7fd0000-7fffb8000000 ---p 00000000 00:00 0 
7fffb8000000-7fffbbfd0000 rw-p 00000000 00:00 0 
7fffbbfd0000-7fffbc000000 ---p 00000000 00:00 0 
7fffc0000000-7fffc3fd0000 rw-p 00000000 00:00 0 
7fffc3fd0000-7fffc4000000 ---p 00000000 00:00 0 
7fffc46b0000-7fffc4b00000 r--s 00000000 00:19 1051400                    /usr/lib/libruby.so.3.2.4
7fffc4b00000-7fffc4b04000 ---p 00000000 00:00 0 
7fffc4b04000-7fffc4ba8000 rw-p 00000000 00:00 0 
7fffc4ba8000-7fffc4bac000 ---p 00000000 00:00 0 
7fffc4bac000-7fffc4c50000 rw-p 00000000 00:00 0 
7fffc4c50000-7fffc4c54000 ---p 00000000 00:00 0 
7fffc4c54000-7fffc4cf8000 rw-p 00000000 00:00 0 
7fffc4cf8000-7fffc4cfc000 ---p 00000000 00:00 0 
7fffc4cfc000-7fffc4da0000 rw-p 00000000 00:00 0 
7fffc4da0000-7fffc4da4000 ---p 00000000 00:00 0 
7fffc4da4000-7fffc4e48000 rw-p 00000000 00:00 0 
7fffc4e48000-7fffc4e4c000 ---p 00000000 00:00 0 
7fffc4e4c000-7fffc4ef0000 rw-p 00000000 00:00 0 
7fffc4ef0000-7fffc4ef4000 ---p 00000000 00:00 0 
7fffc4ef4000-7fffc4f98000 rw-p 00000000 00:00 0 
7fffc4f98000-7fffc4f9c000 ---p 00000000 00:00 0 
7fffc4f9c000-7fffc5040000 rw-p 00000000 00:00 0 
7fffc5040000-7fffc5044000 ---p 00000000 00:00 0 
7fffc5044000-7fffc50e8000 rw-p 00000000 00:00 0 
7fffc50e8000-7fffc50ec000 ---p 00000000 00:00 0 
7fffc50ec000-7fffc5190000 rw-p 00000000 00:00 0 
7fffc5190000-7fffc5194000 ---p 00000000 00:00 0 
7fffc5194000-7fffc5238000 rw-p 00000000 00:00 0 
7fffc5238000-7fffc523c000 ---p 00000000 00:00 0 
7fffc523c000-7fffc52e0000 rw-p 00000000 00:00 0 
7fffc52e0000-7fffc52e4000 ---p 00000000 00:00 0 
7fffc52e4000-7fffc5388000 rw-p 00000000 00:00 0 
7fffc5388000-7fffc538c000 ---p 00000000 00:00 0 
7fffc538c000-7fffc5430000 rw-p 00000000 00:00 0 
7fffc5430000-7fffc5434000 ---p 00000000 00:00 0 
7fffc5434000-7fffc54d8000 rw-p 00000000 00:00 0 
7fffc54d8000-7fffc54dc000 ---p 00000000 00:00 0 
7fffc54dc000-7fffc5580000 rw-p 00000000 00:00 0 
7fffc5580000-7fffc5584000 ---p 00000000 00:00 0 
7fffc5584000-7fffc5628000 rw-p 00000000 00:00 0 
7fffc5628000-7fffc562c000 ---p 00000000 00:00 0 
7fffc562c000-7fffc56d0000 rw-p 00000000 00:00 0 
7fffc56d0000-7fffc56d4000 ---p 00000000 00:00 0 
7fffc56d4000-7fffc5778000 rw-p 00000000 00:00 0 
7fffc5778000-7fffc577c000 ---p 00000000 00:00 0 
7fffc577c000-7fffc5820000 rw-p 00000000 00:00 0 
7fffc5820000-7fffc5824000 ---p 00000000 00:00 0 
7fffc5824000-7fffc58c8000 rw-p 00000000 00:00 0 
7fffc58c8000-7fffc58cc000 ---p 00000000 00:00 0 
7fffc58cc000-7fffc5970000 rw-p 00000000 00:00 0 
7fffc5970000-7fffc5974000 ---p 00000000 00:00 0 
7fffc5974000-7fffc5a18000 rw-p 00000000 00:00 0 
7fffc5a18000-7fffc5a1c000 ---p 00000000 00:00 0 
7fffc5a1c000-7fffc5ac0000 rw-p 00000000 00:00 0 
7fffc5ac0000-7fffc5ac4000 ---p 00000000 00:00 0 
7fffc5ac4000-7fffc5b68000 rw-p 00000000 00:00 0 
7fffc5b68000-7fffc5b6c000 ---p 00000000 00:00 0 
7fffc5b6c000-7fffc5c10000 rw-p 00000000 00:00 0 
7fffc5c10000-7fffc5c14000 ---p 00000000 00:00 0 
7fffc5c14000-7fffc5cb8000 rw-p 00000000 00:00 0 
7fffc5cb8000-7fffc5cbc000 ---p 00000000 00:00 0 
7fffc5cbc000-7fffc5d60000 rw-p 00000000 00:00 0 
7fffc5d60000-7fffc5d64000 ---p 00000000 00:00 0 
7fffc5d64000-7fffc5e08000 rw-p 00000000 00:00 0 
7fffc5e08000-7fffc5e0c000 ---p 00000000 00:00 0 
7fffc5e0c000-7fffc5eb0000 rw-p 00000000 00:00 0 
7fffc5eb0000-7fffc5eb4000 ---p 00000000 00:00 0 
7fffc5eb4000-7fffc5f58000 rw-p 00000000 00:00 0 
7fffc5f58000-7fffc5f5c000 ---p 00000000 00:00 0 
7fffc5f5c000-7fffc6000000 rw-p 00000000 00:00 0 
7fffc6000000-7fffce64c000 r-xp 00000000 00:19 668582                     /usr/lib/libLLVM-16.so
7fffce64c000-7fffcecf4000 r--p 0864c000 00:19 668582                     /usr/lib/libLLVM-16.so
7fffcecf4000-7fffced68000 rw-p 08cf4000 00:19 668582                     /usr/lib/libLLVM-16.so
7fffced68000-7fffcedf8000 rw-p 00000000 00:00 0 
7fffcf000000-7fffd0024000 rw-p 00000000 00:00 0 
7fffd0024000-7fffd4000000 ---p 00000000 00:00 0 
7fffd42e0000-7fffd4370000 rw-p 00000000 00:00 0 
7fffd437c000-7fffd4480000 rw-p 00000000 00:00 0 
7fffd4480000-7fffd4484000 ---p 00000000 00:00 0 
7fffd4484000-7fffd4c84000 rw-p 00000000 00:00 0 
7fffd4c84000-7fffd4d08000 rw-p 00000000 00:00 0 
7fffd4d08000-7fffd4d0c000 ---p 00000000 00:00 0 
7fffd4d0c000-7fffd550c000 rw-p 00000000 00:00 0 
7fffd550c000-7fffd5510000 ---p 00000000 00:00 0 
7fffd5510000-7fffd5d10000 rw-p 00000000 00:00 0 
7fffd5d10000-7fffd77fc000 rw-p 00000000 00:00 0 
7fffd77fc000-7fffd7800000 ---p 00000000 00:00 0 
7fffd7800000-7fffd8000000 rw-p 00000000 00:00 0 
7fffd8000000-7fffdc000000 rw-s 00000000 00:01 294                        /memfd:pulseaudio (deleted)
7fffdc000000-7fffe0000000 rw-s 00000000 00:01 277                        /memfd:pulseaudio (deleted)
7fffe0000000-7fffe4000000 rw-s 00000000 00:01 1319                       /memfd:pulseaudio (deleted)
7fffe4000000-7fffe4024000 rw-p 00000000 00:00 0 
7fffe4024000-7fffe8000000 ---p 00000000 00:00 0 
7fffe8010000-7fffe80b4000 rw-p 00000000 00:00 0 
7fffe80b4000-7fffe812c000 r-xp 00000000 00:19 4561                       /usr/lib/libncursesw.so.6.4
7fffe812c000-7fffe8130000 r--p 00078000 00:19 4561                       /usr/lib/libncursesw.so.6.4
7fffe8130000-7fffe8134000 rw-p 0007c000 00:19 4561                       /usr/lib/libncursesw.so.6.4
7fffe8134000-7fffe8170000 r-xp 00000000 00:19 536506                     /usr/lib/libedit.so.0.0.72
7fffe8170000-7fffe8174000 r--p 0003c000 00:19 536506                     /usr/lib/libedit.so.0.0.72
7fffe8174000-7fffe8178000 rw-p 00040000 00:19 536506                     /usr/lib/libedit.so.0.0.72
7fffe8178000-7fffe817c000 rw-p 00000000 00:00 0 
7fffe817c000-7fffe8184000 r-xp 00000000 00:19 19529                      /usr/lib/libffi.so.8.1.2
7fffe8184000-7fffe8188000 r--p 00004000 00:19 19529                      /usr/lib/libffi.so.8.1.2
7fffe8188000-7fffe818c000 rw-p 00008000 00:19 19529                      /usr/lib/libffi.so.8.1.2
7fffe818c000-7fffe8194000 r-xp 00000000 00:19 678545                     /usr/lib/libdrm_nouveau.so.2.0.0
7fffe8194000-7fffe8198000 r--p 00004000 00:19 678545                     /usr/lib/libdrm_nouveau.so.2.0.0
7fffe8198000-7fffe819c000 rw-p 00008000 00:19 678545                     /usr/lib/libdrm_nouveau.so.2.0.0
7fffe819c000-7fffe81a8000 r-xp 00000000 00:19 678536                     /usr/lib/libdrm_amdgpu.so.1.0.0
7fffe81a8000-7fffe81ac000 r--p 00008000 00:19 678536                     /usr/lib/libdrm_amdgpu.so.1.0.0
7fffe81ac000-7fffe81b0000 rw-p 0000c000 00:19 678536                     /usr/lib/libdrm_amdgpu.so.1.0.0
7fffe81b0000-7fffe81d0000 r-xp 00000000 00:19 528342                     /usr/lib/libelf-0.190.so
7fffe81d0000-7fffe81d4000 r--p 0001c000 00:19 528342                     /usr/lib/libelf-0.190.so
7fffe81d4000-7fffe81d8000 rw-p 00020000 00:19 528342                     /usr/lib/libelf-0.190.so
7fffe81d8000-7fffe81e8000 r-xp 00000000 00:19 678548                     /usr/lib/libdrm_radeon.so.1.0.1
7fffe81e8000-7fffe81ec000 r--p 0000c000 00:19 678548                     /usr/lib/libdrm_radeon.so.1.0.1
7fffe81ec000-7fffe81f0000 rw-p 00010000 00:19 678548                     /usr/lib/libdrm_radeon.so.1.0.1
7fffe81f0000-7fffe8200000 r-xp 00000000 00:19 789065                     /usr/lib/libsensors.so.5.0.0
7fffe8200000-7fffe8204000 r--p 0000c000 00:19 789065                     /usr/lib/libsensors.so.5.0.0
7fffe8204000-7fffe8208000 rw-p 00010000 00:19 789065                     /usr/lib/libsensors.so.5.0.0
7fffe8208000-7fffe9a90000 r-xp 00000000 00:19 679204                     /usr/lib/dri/swrast_dri.so
7fffe9a90000-7fffe9b10000 r--p 01888000 00:19 679204                     /usr/lib/dri/swrast_dri.so
7fffe9b10000-7fffe9b20000 rw-p 01908000 00:19 679204                     /usr/lib/dri/swrast_dri.so
7fffe9b20000-7fffe9cdc000 rw-p 00000000 00:00 0 
7fffe9cdc000-7fffe9ce4000 r-xp 00000000 00:19 513290                     /usr/lib/libxcb-xfixes.so.0.0.0
7fffe9ce4000-7fffe9ce8000 r--p 00008000 00:19 513290                     /usr/lib/libxcb-xfixes.so.0.0.0
7fffe9ce8000-7fffe9cec000 rw-p 0000c000 00:19 513290                     /usr/lib/libxcb-xfixes.so.0.0.0
7fffe9cec000-7fffe9cf4000 r-xp 00000000 00:19 513284                     /usr/lib/libxcb-sync.so.1.0.0
7fffe9cf4000-7fffe9cf8000 r--p 00004000 00:19 513284                     /usr/lib/libxcb-sync.so.1.0.0
7fffe9cf8000-7fffe9cfc000 rw-p 00008000 00:19 513284                     /usr/lib/libxcb-sync.so.1.0.0
7fffe9cfc000-7fffe9d00000 r-xp 00000000 00:19 513260                     /usr/lib/libxcb-present.so.0.0.0
7fffe9d00000-7fffe9d04000 r--p 00000000 00:19 513260                     /usr/lib/libxcb-present.so.0.0.0
7fffe9d04000-7fffe9d08000 rw-p 00004000 00:19 513260                     /usr/lib/libxcb-present.so.0.0.0
7fffe9d08000-7fffe9d0c000 r-xp 00000000 00:19 513254                     /usr/lib/libxcb-dri3.so.0.1.0
7fffe9d0c000-7fffe9d10000 r--p 00000000 00:19 513254                     /usr/lib/libxcb-dri3.so.0.1.0
7fffe9d10000-7fffe9d14000 rw-p 00004000 00:19 513254                     /usr/lib/libxcb-dri3.so.0.1.0
7fffe9d14000-7fffe9d28000 r-xp 00000000 00:19 513263                     /usr/lib/libxcb-randr.so.0.1.0
7fffe9d28000-7fffe9d2c000 r--p 00010000 00:19 513263                     /usr/lib/libxcb-randr.so.0.1.0
7fffe9d2c000-7fffe9d30000 rw-p 00014000 00:19 513263                     /usr/lib/libxcb-randr.so.0.1.0
7fffe9d30000-7fffe9d34000 r-xp 00000000 00:19 54956                      /usr/lib/libxshmfence.so.1.0.0
7fffe9d34000-7fffe9d38000 r--p 00000000 00:19 54956                      /usr/lib/libxshmfence.so.1.0.0
7fffe9d38000-7fffe9d3c000 rw-p 00004000 00:19 54956                      /usr/lib/libxshmfence.so.1.0.0
7fffe9d3c000-7fffe9d68000 r-xp 00000000 00:19 19452                      /usr/lib/libexpat.so.1.8.10
7fffe9d68000-7fffe9d6c000 r--p 00028000 00:19 19452                      /usr/lib/libexpat.so.1.8.10
7fffe9d6c000-7fffe9d70000 rw-p 0002c000 00:19 19452                      /usr/lib/libexpat.so.1.8.10
7fffe9d70000-7fffe9d74000 r-xp 00000000 00:19 513281                     /usr/lib/libxcb-shm.so.0.0.0
7fffe9d74000-7fffe9d78000 r--p 00000000 00:19 513281                     /usr/lib/libxcb-shm.so.0.0.0
7fffe9d78000-7fffe9d7c000 rw-p 00004000 00:19 513281                     /usr/lib/libxcb-shm.so.0.0.0
7fffe9d7c000-7fffe9d84000 r-xp 00000000 00:19 54911                      /usr/lib/libXxf86vm.so.1.0.0
7fffe9d84000-7fffe9d88000 r--p 00004000 00:19 54911                      /usr/lib/libXxf86vm.so.1.0.0
7fffe9d88000-7fffe9d8c000 rw-p 00008000 00:19 54911                      /usr/lib/libXxf86vm.so.1.0.0
7fffe9d8c000-7fffe9d90000 r-xp 00000000 00:19 513251                     /usr/lib/libxcb-dri2.so.0.0.0
7fffe9d90000-7fffe9d94000 r--p 00004000 00:19 513251                     /usr/lib/libxcb-dri2.so.0.0.0
7fffe9d94000-7fffe9d98000 rw-p 00008000 00:19 513251                     /usr/lib/libxcb-dri2.so.0.0.0
7fffe9d98000-7fffe9d9c000 r-xp 00000000 00:19 515664                     /usr/lib/libX11-xcb.so.1.0.0
7fffe9d9c000-7fffe9da0000 r--p 00000000 00:19 515664                     /usr/lib/libX11-xcb.so.1.0.0
7fffe9da0000-7fffe9da4000 rw-p 00004000 00:19 515664                     /usr/lib/libX11-xcb.so.1.0.0
7fffe9da4000-7fffe9dc4000 r-xp 00000000 00:19 513257                     /usr/lib/libxcb-glx.so.0.0.0
7fffe9dc4000-7fffe9dc8000 r--p 0001c000 00:19 513257                     /usr/lib/libxcb-glx.so.0.0.0
7fffe9dc8000-7fffe9dcc000 rw-p 00020000 00:19 513257                     /usr/lib/libxcb-glx.so.0.0.0
7fffe9dcc000-7fffe9de8000 r-xp 00000000 00:19 678533                     /usr/lib/libdrm.so.2.4.0
7fffe9de8000-7fffe9dec000 r--p 00018000 00:19 678533                     /usr/lib/libdrm.so.2.4.0
7fffe9dec000-7fffe9df0000 rw-p 0001c000 00:19 678533                     /usr/lib/libdrm.so.2.4.0
7fffe9df0000-7fffe9e44000 r-xp 00000000 00:19 679220                     /usr/lib/libglapi.so.0.0.0
7fffe9e44000-7fffe9e4c000 r--p 00050000 00:19 679220                     /usr/lib/libglapi.so.0.0.0
7fffe9e4c000-7fffe9e50000 rw-p 00058000 00:19 679220                     /usr/lib/libglapi.so.0.0.0
7fffe9e50000-7fffe9ef0000 r-xp 00000000 00:19 679211                     /usr/lib/libGLX_mesa.so.0.0.0
7fffe9ef0000-7fffe9ef4000 r--p 0009c000 00:19 679211                     /usr/lib/libGLX_mesa.so.0.0.0
7fffe9ef4000-7fffe9ef8000 rw-p 000a0000 00:19 679211                     /usr/lib/libGLX_mesa.so.0.0.0
7fffe9ef8000-7fffe9f0c000 r-xp 00000000 00:19 536817                     /usr/lib/libGLX.so.0.0.0
7fffe9f0c000-7fffe9f10000 r--p 00010000 00:19 536817                     /usr/lib/libGLX.so.0.0.0
7fffe9f10000-7fffe9f14000 rw-p 00014000 00:19 536817                     /usr/lib/libGLX.so.0.0.0
7fffe9f14000-7fffe9fc0000 r-xp 00000000 00:19 536820                     /usr/lib/libGLdispatch.so.0.0.0
7fffe9fc0000-7fffe9fe4000 r--p 000ac000 00:19 536820                     /usr/lib/libGLdispatch.so.0.0.0
7fffe9fe4000-7fffe9fe8000 rw-p 000d0000 00:19 536820                     /usr/lib/libGLdispatch.so.0.0.0
7fffe9fe8000-7fffe9ff0000 rw-p 00000000 00:00 0 
7fffe9ff0000-7fffea08c000 r-xp 00000000 00:19 536811                     /usr/lib/libGL.so.1.7.0
7fffea08c000-7fffea09c000 r--p 0009c000 00:19 536811                     /usr/lib/libGL.so.1.7.0
7fffea09c000-7fffea0a0000 rw-p 000ac000 00:19 536811                     /usr/lib/libGL.so.1.7.0
7fffea0a0000-7fffea0a4000 ---p 00000000 00:00 0 
7fffea0a4000-7fffea0e4000 rw-p 00000000 00:00 0 
7fffea0e4000-7fffee0e4000 rw-s 00000000 00:01 1319                       /memfd:pulseaudio (deleted)
7fffee0e4000-7fffee0e8000 ---p 00000000 00:00 0 
7fffee0e8000-7fffee8e8000 rw-p 00000000 00:00 0 
7fffee8e8000-7fffee914000 r-xp 00000000 00:19 49664                      /usr/lib/libvorbis.so.0.4.9
7fffee914000-7fffee918000 r--p 00028000 00:19 49664                      /usr/lib/libvorbis.so.0.4.9
7fffee918000-7fffee91c000 rw-p 0002c000 00:19 49664                      /usr/lib/libvorbis.so.0.4.9
7fffee91c000-7fffee964000 r-xp 00000000 00:19 49635                      /usr/lib/libmp3lame.so.0.0.0
7fffee964000-7fffee968000 r--p 00048000 00:19 49635                      /usr/lib/libmp3lame.so.0.0.0
7fffee968000-7fffee96c000 rw-p 0004c000 00:19 49635                      /usr/lib/libmp3lame.so.0.0.0
7fffee96c000-7fffee998000 rw-p 00000000 00:00 0 
7fffee998000-7fffee9ec000 r-xp 00000000 00:19 679033                     /usr/lib/libmpg123.so.0.48.2
7fffee9ec000-7fffee9f0000 r--p 00050000 00:19 679033                     /usr/lib/libmpg123.so.0.48.2
7fffee9f0000-7fffee9f4000 rw-p 00054000 00:19 679033                     /usr/lib/libmpg123.so.0.48.2
7fffee9f4000-7fffeea4c000 r-xp 00000000 00:19 49862                      /usr/lib/libopus.so.0.9.0
7fffeea4c000-7fffeea50000 r--p 00058000 00:19 49862                      /usr/lib/libopus.so.0.9.0
7fffeea50000-7fffeea54000 rw-p 0005c000 00:19 49862                      /usr/lib/libopus.so.0.9.0
7fffeea54000-7fffeea90000 r-xp 00000000 00:19 49618                      /usr/lib/libFLAC.so.12.1.0
7fffeea90000-7fffeea94000 r--p 00038000 00:19 49618                      /usr/lib/libFLAC.so.12.1.0
7fffeea94000-7fffeea98000 rw-p 0003c000 00:19 49618                      /usr/lib/libFLAC.so.12.1.0
7fffeea98000-7fffeeb24000 r-xp 00000000 00:19 49667                      /usr/lib/libvorbisenc.so.2.0.12
7fffeeb24000-7fffeeb3c000 r--p 00088000 00:19 49667                      /usr/lib/libvorbisenc.so.2.0.12
7fffeeb3c000-7fffeeb40000 rw-p 000a0000 00:19 49667                      /usr/lib/libvorbisenc.so.2.0.12
7fffeeb40000-7fffeeb48000 r-xp 00000000 00:19 49494                      /usr/lib/libogg.so.0.8.5
7fffeeb48000-7fffeeb4c000 r--p 00004000 00:19 49494                      /usr/lib/libogg.so.0.8.5
7fffeeb4c000-7fffeeb50000 rw-p 00008000 00:19 49494                      /usr/lib/libogg.so.0.8.5
7fffeeb50000-7fffeebe4000 r-xp 00000000 00:19 550358                     /usr/lib/libsndfile.so.1.0.37
7fffeebe4000-7fffeebe8000 r--p 00094000 00:19 550358                     /usr/lib/libsndfile.so.1.0.37
7fffeebe8000-7fffeebec000 rw-p 00098000 00:19 550358                     /usr/lib/libsndfile.so.1.0.37
7fffeebec000-7fffeec80000 r-xp 00000000 00:19 679107                     /usr/lib/pulseaudio/libpulsecommon-17.0.so
7fffeec80000-7fffeec84000 r--p 00090000 00:19 679107                     /usr/lib/pulseaudio/libpulsecommon-17.0.so
7fffeec84000-7fffeec88000 rw-p 00094000 00:19 679107                     /usr/lib/pulseaudio/libpulsecommon-17.0.so
7fffeec88000-7fffeecd8000 rw-p 00000000 00:00 0 
7fffeecdc000-7fffeece4000 r-xp 00000000 00:19 49473                      /usr/lib/libasyncns.so.0.3.1
7fffeece4000-7fffeece8000 r--p 00004000 00:19 49473                      /usr/lib/libasyncns.so.0.3.1
7fffeece8000-7fffeecec000 rw-p 00008000 00:19 49473                      /usr/lib/libasyncns.so.0.3.1
7fffeecec000-7fffeed48000 r-xp 00000000 00:19 679103                     /usr/lib/libpulse.so.0.24.3
7fffeed48000-7fffeed4c000 r--p 00058000 00:19 679103                     /usr/lib/libpulse.so.0.24.3
7fffeed4c000-7fffeed50000 rw-p 0005c000 00:19 679103                     /usr/lib/libpulse.so.0.24.3
7fffeed50000-7fffef448000 r--p 00000000 00:19 647368                     /usr/lib/locale/locale-archive
7fffef448000-7fffef470000 r-xp 00000000 00:19 655347                     /usr/lib/libnss_myhostname.so.2
7fffef470000-7fffef474000 r--p 00028000 00:19 655347                     /usr/lib/libnss_myhostname.so.2
7fffef474000-7fffef478000 rw-p 0002c000 00:19 655347                     /usr/lib/libnss_myhostname.so.2
7fffef478000-7fffef4a8000 r-xp 00000000 00:19 655349                     /usr/lib/libnss_resolve.so.2
7fffef4a8000-7fffef4ac000 r--p 0002c000 00:19 655349                     /usr/lib/libnss_resolve.so.2
7fffef4ac000-7fffef4b0000 rw-p 00030000 00:19 655349                     /usr/lib/libnss_resolve.so.2
7fffef4b0000-7fffef510000 r-xp 00000000 00:19 655348                     /usr/lib/libnss_mymachines.so.2
7fffef510000-7fffef514000 r--p 00060000 00:19 655348                     /usr/lib/libnss_mymachines.so.2
7fffef514000-7fffef518000 rw-p 00064000 00:19 655348                     /usr/lib/libnss_mymachines.so.2
7fffef518000-7fffef51c000 r-xp 00000000 00:19 536469                     /usr/lib/libXss.so.1.0.0
7fffef51c000-7fffef520000 r--p 00000000 00:19 536469                     /usr/lib/libXss.so.1.0.0
7fffef520000-7fffef524000 rw-p 00004000 00:19 536469                     /usr/lib/libXss.so.1.0.0
7fffef524000-7fffef530000 r-xp 00000000 00:19 537258                     /usr/lib/libXrandr.so.2.2.0
7fffef530000-7fffef534000 r--p 00008000 00:19 537258                     /usr/lib/libXrandr.so.2.2.0
7fffef534000-7fffef538000 rw-p 0000c000 00:19 537258                     /usr/lib/libXrandr.so.2.2.0
7fffef538000-7fffef54c000 r-xp 00000000 00:19 54162                      /usr/lib/libXi.so.6.1.0
7fffef54c000-7fffef550000 r--p 00010000 00:19 54162                      /usr/lib/libXi.so.6.1.0
7fffef550000-7fffef554000 rw-p 00014000 00:19 54162                      /usr/lib/libXi.so.6.1.0
7fffef554000-7fffef55c000 r-xp 00000000 00:19 54149                      /usr/lib/libXfixes.so.3.1.0
7fffef55c000-7fffef560000 r--p 00004000 00:19 54149                      /usr/lib/libXfixes.so.3.1.0
7fffef560000-7fffef564000 rw-p 00008000 00:19 54149                      /usr/lib/libXfixes.so.3.1.0
7fffef564000-7fffef570000 r-xp 00000000 00:19 55950                      /usr/lib/libXrender.so.1.3.0
7fffef570000-7fffef574000 r--p 00008000 00:19 55950                      /usr/lib/libXrender.so.1.3.0
7fffef574000-7fffef578000 rw-p 0000c000 00:19 55950                      /usr/lib/libXrender.so.1.3.0
7fffef578000-7fffef584000 r-xp 00000000 00:19 63591                      /usr/lib/libXcursor.so.1.0.2
7fffef584000-7fffef588000 r--p 00008000 00:19 63591                      /usr/lib/libXcursor.so.1.0.2
7fffef588000-7fffef58c000 rw-p 0000c000 00:19 63591                      /usr/lib/libXcursor.so.1.0.2
7fffef58c000-7fffef5a0000 r-xp 00000000 00:19 54071                      /usr/lib/libXext.so.6.4.0
7fffef5a0000-7fffef5a4000 r--p 00010000 00:19 54071                      /usr/lib/libXext.so.6.4.0
7fffef5a4000-7fffef5a8000 rw-p 00014000 00:19 54071                      /usr/lib/libXext.so.6.4.0
7fffef5a8000-7fffef5b0000 r-xp 00000000 00:19 50209                      /usr/lib/libXdmcp.so.6.0.0
7fffef5b0000-7fffef5b4000 r--p 00004000 00:19 50209                      /usr/lib/libXdmcp.so.6.0.0
7fffef5b4000-7fffef5b8000 rw-p 00008000 00:19 50209                      /usr/lib/libXdmcp.so.6.0.0
7fffef5b8000-7fffef5bc000 r-xp 00000000 00:19 50222                      /usr/lib/libXau.so.6.0.0
7fffef5bc000-7fffef5c0000 r--p 00000000 00:19 50222                      /usr/lib/libXau.so.6.0.0
7fffef5c0000-7fffef5c4000 rw-p 00004000 00:19 50222                      /usr/lib/libXau.so.6.0.0
7fffef5c4000-7fffef5f4000 r-xp 00000000 00:19 513311                     /usr/lib/libxcb.so.1.1.0
7fffef5f4000-7fffef5f8000 r--p 0002c000 00:19 513311                     /usr/lib/libxcb.so.1.1.0
7fffef5f8000-7fffef5fc000 rw-p 00030000 00:19 513311                     /usr/lib/libxcb.so.1.1.0
7fffef5fc000-7fffef760000 r-xp 00000000 00:19 515667                     /usr/lib/libX11.so.6.4.0
7fffef760000-7fffef764000 r--p 00160000 00:19 515667                     /usr/lib/libX11.so.6.4.0
7fffef764000-7fffef76c000 rw-p 00164000 00:19 515667                     /usr/lib/libX11.so.6.4.0
7fffef76c000-7fffef770000 ---p 00000000 00:00 0 
7fffef770000-7fffeff70000 rw-p 00000000 00:00 0 
7fffeff70000-7fffeff98000 r-xp 00000000 00:19 16480                      /usr/lib/libgpg-error.so.0.34.0
7fffeff98000-7fffeff9c000 r--p 00024000 00:19 16480                      /usr/lib/libgpg-error.so.0.34.0
7fffeff9c000-7fffeffa0000 rw-p 00028000 00:19 16480                      /usr/lib/libgpg-error.so.0.34.0
7fffeffa0000-7ffff0060000 r-xp 00000000 00:19 15973                      /usr/lib/libzstd.so.1.5.5
7ffff0060000-7ffff0064000 r--p 000bc000 00:19 15973                      /usr/lib/libzstd.so.1.5.5
7ffff0064000-7ffff0068000 rw-p 000c0000 00:19 15973                      /usr/lib/libzstd.so.1.5.5
7ffff0068000-7ffff009c000 r-xp 00000000 00:19 653961                     /usr/lib/liblzma.so.5.4.6
7ffff009c000-7ffff00a0000 r--p 00034000 00:19 653961                     /usr/lib/liblzma.so.5.4.6
7ffff00a0000-7ffff00a4000 rw-p 00038000 00:19 653961                     /usr/lib/liblzma.so.5.4.6
7ffff00a4000-7ffff00c8000 r-xp 00000000 00:19 654241                     /usr/lib/liblz4.so.1.9.4
7ffff00c8000-7ffff00cc000 r--p 00020000 00:19 654241                     /usr/lib/liblz4.so.1.9.4
7ffff00cc000-7ffff00d0000 rw-p 00024000 00:19 654241                     /usr/lib/liblz4.so.1.9.4
7ffff00d0000-7ffff01c4000 r-xp 00000000 00:19 526315                     /usr/lib/libgcrypt.so.20.4.3
7ffff01c4000-7ffff01c8000 r--p 000f4000 00:19 526315                     /usr/lib/libgcrypt.so.20.4.3
7ffff01c8000-7ffff01cc000 rw-p 000f8000 00:19 526315                     /usr/lib/libgcrypt.so.20.4.3
7ffff01cc000-7ffff01d0000 rw-p 00000000 00:00 0 
7ffff01d0000-7ffff01dc000 r-xp 00000000 00:19 654895                     /usr/lib/libcap.so.2.69
7ffff01dc000-7ffff01e0000 r--p 00008000 00:19 654895                     /usr/lib/libcap.so.2.69
7ffff01e0000-7ffff01e4000 rw-p 0000c000 00:19 654895                     /usr/lib/libcap.so.2.69
7ffff01e4000-7ffff02e8000 r-xp 00000000 00:19 655353                     /usr/lib/libsystemd.so.0.38.0
7ffff02e8000-7ffff02f4000 r--p 00104000 00:19 655353                     /usr/lib/libsystemd.so.0.38.0
7ffff02f4000-7ffff02f8000 rw-p 00110000 00:19 655353                     /usr/lib/libsystemd.so.0.38.0
7ffff02f8000-7ffff035c000 r-xp 00000000 00:19 661966                     /usr/lib/libdbus-1.so.3.32.4
7ffff035c000-7ffff0360000 r--p 00060000 00:19 661966                     /usr/lib/libdbus-1.so.3.32.4
7ffff0360000-7ffff0364000 rw-p 00064000 00:19 661966                     /usr/lib/libdbus-1.so.3.32.4
7ffff0364000-7ffff03f0000 r-xp 00000000 00:19 525235                     /usr/lib/libgmp.so.10.5.0
7ffff03f0000-7ffff03f4000 r--p 00088000 00:19 525235                     /usr/lib/libgmp.so.10.5.0
7ffff03f4000-7ffff03f8000 rw-p 0008c000 00:19 525235                     /usr/lib/libgmp.so.10.5.0
7ffff03f8000-7ffff0410000 r-xp 00000000 00:19 653913                     /usr/lib/libz.so.1.3.1
7ffff0410000-7ffff0414000 r--p 00014000 00:19 653913                     /usr/lib/libz.so.1.3.1
7ffff0414000-7ffff0418000 rw-p 00018000 00:19 653913                     /usr/lib/libz.so.1.3.1
7ffff0418000-7ffff0420000 rw-p 00000000 00:00 0 
7ffff0420000-7ffff05ec000 r-xp 00000000 00:19 646661                     /usr/lib/libc.so.6
7ffff05ec000-7ffff05f0000 r--p 001cc000 00:19 646661                     /usr/lib/libc.so.6
7ffff05f0000-7ffff05f4000 rw-p 001d0000 00:19 646661                     /usr/lib/libc.so.6
7ffff05f4000-7ffff05fc000 rw-p 00000000 00:00 0 
7ffff05fc000-7ffff0650000 r-xp 00000000 00:19 788992                     /usr/lib/libgcc_s.so.1
7ffff0650000-7ffff0654000 r--p 00050000 00:19 788992                     /usr/lib/libgcc_s.so.1
7ffff0654000-7ffff0658000 rw-p 00054000 00:19 788992                     /usr/lib/libgcc_s.so.1
7ffff0658000-7ffff06fc000 r-xp 00000000 00:19 646670                     /usr/lib/libm.so.6
7ffff06fc000-7ffff0700000 r--p 000a0000 00:19 646670                     /usr/lib/libm.so.6
7ffff0700000-7ffff0704000 rw-p 000a4000 00:19 646670                     /usr/lib/libm.so.6
7ffff0704000-7ffff09b0000 r-xp 00000000 00:19 789010                     /usr/lib/libstdc++.so.6.0.33
7ffff09b0000-7ffff09bc000 r--p 002a8000 00:19 789010                     /usr/lib/libstdc++.so.6.0.33
7ffff09bc000-7ffff09c0000 rw-p 002b4000 00:19 789010                     /usr/lib/libstdc++.so.6.0.33
7ffff09c0000-7ffff09c4000 rw-p 00000000 00:00 0 
7ffff09c4000-7ffff0e04000 r-xp 00000000 00:19 1051400                    /usr/lib/libruby.so.3.2.4
7ffff0e04000-7ffff0e10000 r--p 0043c000 00:19 1051400                    /usr/lib/libruby.so.3.2.4
7ffff0e10000-7ffff0e18000 rw-p 00448000 00:19 1051400                    /usr/lib/libruby.so.3.2.4
7ffff0e18000-7ffff0e28000 rw-p 00000000 00:00 0 
7ffff0e28000-7ffff0e50000 r-xp 00000000 00:19 399882                     /usr/lib/libcrypt.so.2.0.0
7ffff0e50000-7ffff0e54000 r--p 00024000 00:19 399882                     /usr/lib/libcrypt.so.2.0.0
7ffff0e54000-7ffff0e58000 rw-p 00028000 00:19 399882                     /usr/lib/libcrypt.so.2.0.0
7ffff0e58000-7ffff0e60000 rw-p 00000000 00:00 0 
7ffff0e7c000-7ffff0eac000 r-xp 00000000 00:19 646655                     /usr/lib/ld-linux-loongarch-lp64d.so.1
7ffff0eac000-7ffff0eb0000 r--p 0002c000 00:19 646655                     /usr/lib/ld-linux-loongarch-lp64d.so.1
7ffff0eb0000-7ffff0eb4000 rw-p 00030000 00:19 646655                     /usr/lib/ld-linux-loongarch-lp64d.so.1
7ffffbcc4000-7ffffbce8000 rw-p 00000000 00:00 0                          [stack]
7ffffc778000-7ffffc784000 r--p 00000000 00:00 0                          [vvar]
7ffffc784000-7ffffc788000 r-xp 00000000 00:00 0                          [vdso]

Aborted (core dumped)

GDB的bt信息:

(gdb) bt
#0  0x00007ffff7bd658c in ?? () from /usr/lib/libruby.so.3.2
#1  0x00007ffff7bdde24 in ?? () from /usr/lib/libruby.so.3.2
#2  0x00007ffff7bde00c in ?? () from /usr/lib/libruby.so.3.2
#3  0x00007ffff7bde024 in rb_exc_raise () from /usr/lib/libruby.so.3.2
#4  0x00007ffff7bd2840 in ?? () from /usr/lib/libruby.so.3.2
#5  0x00007ffff7bd288c in rb_raise () from /usr/lib/libruby.so.3.2
#6  0x00007ffff7c8c8dc in ?? () from /usr/lib/libruby.so.3.2
#7  0x00007ffff7c8e890 in rb_convert_type_with_id ()
   from /usr/lib/libruby.so.3.2
#8  0x00007ffff7d5350c in rb_string_value () from /usr/lib/libruby.so.3.2
#9  0x00007ffff7be195c in ?? () from /usr/lib/libruby.so.3.2
#10 0x00007ffff7c4911c in ?? () from /usr/lib/libruby.so.3.2
#11 0x00007ffff7dd5e28 in ?? () from /usr/lib/libruby.so.3.2
#12 0x00007ffff7dd60c0 in ?? () from /usr/lib/libruby.so.3.2
#13 0x00007ffff7dda0d4 in rb_funcallv () from /usr/lib/libruby.so.3.2
#14 0x00005555556294b0 in binding::marshal_load_utf8 (argc=1, 
    argv=0x7ffff0cc19c0, self=140736639271560)
    at /home/donmor/rguplayer/binding/mri/init_corefile.cc:163
#15 0x00007ffff7dd5e28 in ?? () from /usr/lib/libruby.so.3.2
#16 0x00007ffff7dda0d4 in rb_funcallv () from /usr/lib/libruby.so.3.2
#17 0x0000555555629100 in binding::MriLoadData (
    filename="Data/Scripts.rxdata", mri_exc=false)
    at /home/donmor/rguplayer/binding/mri/init_corefile.cc:120
--Type <RET> for more, q to quit, c to continue without paging--c
#18 0x0000555555612508 in binding::BindingEngineMri::LoadPackedScripts (
    this=0x555556171d70) at /home/donmor/rguplayer/binding/mri/mri_main.cc:323
#19 0x0000555555612280 in binding::BindingEngineMri::RunBindingMain (
    this=0x555556171d70) at /home/donmor/rguplayer/binding/mri/mri_main.cc:294
#20 0x00005555555f5ec4 in content::BindingRunner::BindingFuncMain (
    this=0x555562386280)
    at /home/donmor/rguplayer/content/worker/binding_worker.cc:76
#21 0x00005555555f8260 in std::__invoke_impl<void, void (content::BindingRunner::*)(), content::BindingRunner*> (
    __f=@0x5555560cfe90: (void (content::BindingRunner::*)(content::BindingRunner * const)) 0x5555555f5b84 <content::BindingRunner::BindingFuncMain()>, 
    __t=@0x5555560cfe88: 0x555562386280)
    at /usr/include/c++/14.0.1/bits/invoke.h:74
#22 0x00005555555f8158 in std::__invoke<void (content::BindingRunner::*)(), content::BindingRunner*> (
    __fn=@0x5555560cfe90: (void (content::BindingRunner::*)(content::BindingRunner * const)) 0x5555555f5b84 <content::BindingRunner::BindingFuncMain()>)
    at /usr/include/c++/14.0.1/bits/invoke.h:96
#23 0x00005555555f804c in std::thread::_Invoker<std::tuple<void (content::BindingRunner::*)(), content::BindingRunner*> >::_M_invoke<0ul, 1ul> (
    this=0x5555560cfe88) at /usr/include/c++/14.0.1/bits/std_thread.h:292
#24 0x00005555555f7fd8 in std::thread::_Invoker<std::tuple<void (content::BindingRunner::*)(), content::BindingRunner*> >::operator() (this=0x5555560cfe88)
    at /usr/include/c++/14.0.1/bits/std_thread.h:299
#25 0x00005555555f7fa4 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (content::BindingRunner::*)(), content::BindingRunner*> > >::_M_run (
    this=0x5555560cfe80) at /usr/include/c++/14.0.1/bits/std_thread.h:244
#26 0x00007ffff7927dd4 in std::execute_native_thread_routine (
    __p=0x5555560cfe80)
    at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/thread.cc:104
#27 0x00007ffff75f4cf8 in start_thread (arg=<optimized out>)
    at pthread_create.c:447
#28 0x00007ffff767afd4 in __thread_start3 ()
    at ../sysdeps/unix/sysv/linux/loongarch/clone3.S:74

因libruby未开debug,部分符号被隐去了,稍后尝试重新构建带debug的ruby

Admenri commented 1 month ago

libruby链接别用动态库用静态库 mri有一部分功能在builtins里只能用这个方法开启了

donmor commented 1 month ago

换Ruby3.2.2的静态库可以带着rb_call_builtin_inits过构建了,但还是闪退= = 以及cmake的find_package老是锁/usr下面的so,最后卸载了系统的ruby才过 另外需要加一个-lgmp不然无法链接

donmor commented 1 month ago

编译tag=20240306修补后可以过并且成功运行游戏;经过排查将MRI闪退问题定位到commitID=8869f28处。