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

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

Open
donmor opened this issue May 30, 2024 · 4 comments
Open

Comments

@donmor
Copy link

donmor commented May 30, 2024

我的编译环境为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
Copy link
Author

donmor commented May 31, 2024

升级系统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
Copy link
Owner

Admenri commented May 31, 2024

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

@donmor
Copy link
Author

donmor commented May 31, 2024

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

@donmor donmor changed the title [Bug]项目编译失败,修补后编译的程序远行游戏时闪退 [Bug]项目编译失败,修补后编译的程序运行游戏时闪退 May 31, 2024
@donmor
Copy link
Author

donmor commented Jun 1, 2024

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

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

2 participants