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

Attempting to set PSYSHIELD_PARTIAL as an Enchantment flag causes a segfault #62986

Closed
Standing-Storm opened this issue Jan 4, 2023 · 4 comments
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility stale Closed for lack of activity, but still valid.

Comments

@Standing-Storm
Copy link
Contributor

Standing-Storm commented Jan 4, 2023

Describe the bug

With my WIP psionics mod, attempting to load a world causes a repeated segfault. (Edit: Narrowed down to attempting to apply PSYSHIELD_PARTIAL as an enchantment flag)

Steps to reproduce

  1. Install Mind Over Matter
  2. Attempt to create world using it
  3. Game crashes with a segfault

Expected behavior

JSON errors or world loading correctly.

Screenshots

No response

Versions and configuration

  • OS: Windows
    • OS Version: 10.0.19044.2364 (21H2)
  • Game Version: dd987e7 [64-bit]
  • Graphics Version: Tiles
  • Game Language: System language []
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Portal Storms Ignore NPCs [personal_portal_storms],
    No Fungal Growth [no_fungal_growth],
    Bionic Professions [package_bionic_professions],
    Mind Over Matter [mindovermatter]
    ]

Additional context

<< "Mind Over Matter" in the list above is the WIP mod. See attached >>
MindOverMatter-main.zip

The program has crashed.
See the log file for a stack trace.
CRASH LOG FILE: ./config/crash.log
VERSION: dd987e7
TYPE: Signal
MESSAGE: SIGSEGV: Segmentation fault
STACK TRACE:

#0
(dbghelp: @0x7ff777c24710[cataclysm-tiles.exe+0x234710]),
(libbacktrace: debug_write_backtrace(std::ostream&)+0x9e@0x140234710),
0x140234710 src/debug.cpp:1119 debug_write_backtrace(std::ostream&)
#1
(dbghelp: @0x7ff777c0d101[cataclysm-tiles.exe+0x21d101]),
(libbacktrace: log_crash+0x1d2@0x14021d101),
0x14021d101 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/sstream:917 std::_cxx11::basic_ostringstream<char, std::char_traits, std::allocator >::str() const
0x14021d101 src/crash.cpp:85 log_crash
#2
(dbghelp: @0x7ff777c0d32f[cataclysm-tiles.exe+0x21d32f]),
(libbacktrace: signal_handler+0x52@0x14021d32f),
0x14021d32f src/crash.cpp:137 signal_handler
#3
(dbghelp: @0x7ff778552d32[cataclysm-tiles.exe+0xb62d32]),
(libbacktrace: gnu_exception_handler+0x182@0x140b62d32),
0x140b62d32 /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build
/mingw-w64-v9.0.0/mingw-w64-crt/crt/crt_handler.c:224 _gnu_exception_handler
#4
(dbghelp: _C_specific_handler+0x98@0x7ffa1b8c7ff8[msvcrt.dll+0x27ff8]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
#5
(dbghelp: _chkstk+0x11f@0x7ffa1ca1241f[ntdll.dll+0xa241f]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
#6
(dbghelp: RtlRaiseException+0x434@0x7ffa1c9c14a4[ntdll.dll+0x514a4]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
#7
(dbghelp: KiUserExceptionDispatcher+0x2e@0x7ffa1ca10f4e[ntdll.dll+0xa0f4e]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
#8
(dbghelp: @0x7ff7789049db[cataclysm-tiles.exe+0xf149db]),
(libbacktrace: void mod_tracker::check_duplicate_entries<enchantment, (void*)0>(enchantment const&, enchantment const&)+0x1b@0x140f149db),
0x140f149db /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/stl_pair.h:467 bool std::operator==<string_id, string_id<MOD_INFORMATION> >(std::pair<string_id, string_id<MOD_INFORMATION> > const&, std::pair<string_id, string_id<MOD_INFORMATION> > const&)
0x140f149db src/mod_tracker.h:80 void mod_tracker::check_duplicate_entries<enchantment, (void*)0>(enchantment const&, enchantment const&)
#9
(dbghelp: @0x7ff777f57656[cataclysm-tiles.exe+0x567656]),
(libbacktrace: generic_factory::insert(enchantment const&) [clone .isra.0]+0x5e@0x140567656),
0x140567656 src/generic_factory.h:354 generic_factory::insert(enchantment const&)
#10
(dbghelp: @0x7ff777f587be[cataclysm-tiles.exe+0x5687be]),
(libbacktrace: enchantment::load_inline_enchantment(JsonValue const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)+0x154@0x1405687be),
0x1405687be src/string_id.h:216 string_id<std::__cxx11::basic_string&>
0x1405687be src/string_id.h:216 string_id::string_id<std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, void>(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)
0x1405687be src/magic_enchantment.cpp:200 enchantment::load_inline_enchantment(JsonValue const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&)
#11
(dbghelp: @0x7ff778127664[cataclysm-tiles.exe+0x737664]),
(libbacktrace: mutation_branch::load(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)+0x25b2@0x140737664),
0x140737664 src/mutation_data.cpp:492 mutation_branch::load(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
#12
(dbghelp: @0x7ff77896444f[cataclysm-tiles.exe+0xf7444f]),
(libbacktrace: generic_factory<mutation_branch>::load(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)+0x12f@0x140f7444f),
0x140f7444f src/generic_factory.h:274 generic_factory<mutation_branch>::load(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)
#13
(dbghelp: @0x7ff777dd1823[cataclysm-tiles.exe+0x3e1823]),
(libbacktrace: DynamicDataLoader::load_object(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cata_path const&, cata_path const&)+0x115@0x1403e1823),
0x1403e1823 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/basic_string.h:671 std::__cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()
0x1403e1823 src/init.cpp:133 DynamicDataLoader::load_object(JsonObject const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, cata_path const&, cata_path const&)
#14
(dbghelp: @0x7ff777dd1960[cataclysm-tiles.exe+0x3e1960]),
(libbacktrace: DynamicDataLoader::load_all_from_json(JsonValue const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, loading_ui&, cata_path const&, cata_path const&)+0x120@0x1403e1960),
0x1403e1960 src/init.cpp:529 DynamicDataLoader::load_all_from_json(JsonValue const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, loading_ui&, cata_path const&, cata_path const&)
#15
(dbghelp: @0x7ff777dd6257[cataclysm-tiles.exe+0x3e6257]),
(libbacktrace: DynamicDataLoader::load_data_from_path(cata_path const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, loading_ui&)+0x1dd@0x1403e6257),
0x1403e6257 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/shared_ptr_base.h:1154 __shared_ptr
0x1403e6257 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/shared_ptr_base.h:1154 std::__shared_ptr<parsed_flexbuffer, (__gnu_cxx::_Lock_policy)2>::
__shared_ptr()
0x1403e6257 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/shared_ptr.h:122 ~shared_ptr
0x1403e6257 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/shared_ptr.h:122 std::shared_ptr<parsed_flexbuffer>::~shared_ptr()
0x1403e6257 src/flexbuffer_json.h:107 ~Json
0x1403e6257 src/flexbuffer_json.h:107 Json::~Json()
0x1403e6257 src/flexbuffer_json.h:162 ~JsonValue
0x1403e6257 src/flexbuffer_json.h:162 JsonValue::~JsonValue()
0x1403e6257 src/init.cpp:510 DynamicDataLoader::load_data_from_path(cata_path const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, loading_ui&)
#16
(dbghelp: @0x7ff777d25148[cataclysm-tiles.exe+0x335148]),
(libbacktrace: game::load_packs(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<string_id<MOD_INFORMATION>, std::allocator<string_id<MOD_INFORMATION> > > const&, loading_ui&)+0x1d8@0x140335148),
0x140335148 src/game.cpp:2919 game::load_packs(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<string_id<MOD_INFORMATION>, std::allocator<string_id<MOD_INFORMATION> > > const&, loading_ui&)
#17
(dbghelp: @0x7ff777d25584[cataclysm-tiles.exe+0x335584]),
(libbacktrace: game::load_world_modfiles(loading_ui&)+0x348@0x140335584),
0x140335584 /opt/mxe/usr/lib/gcc/x86_64-w64-mingw32.static.gcc11/11.2.0/include/c++/bits/basic_string.h:671 std::__cxx11::basic_string<char, std::char_traits, std::allocator >::~basic_string()
0x140335584 src/game.cpp:2887 game::load_world_modfiles(loading_ui&)
#18
(dbghelp: @0x7ff777d454c2[cataclysm-tiles.exe+0x3554c2]),
(libbacktrace: game::setup()+0xe8@0x1403554c2),
0x1403554c2 src/game.cpp:733 game::setup()
#19
(dbghelp: @0x7ff777f713a9[cataclysm-tiles.exe+0x5813a9]),
(libbacktrace: main_menu::new_character_tab()+0x967@0x1405813a9),
0x1405813a9 src/main_menu.cpp:971 main_menu::new_character_tab()
#20
(dbghelp: @0x7ff777f72e66[cataclysm-tiles.exe+0x582e66]),
(libbacktrace: main_menu::opening_screen()+0x1154@0x140582e66),
0x140582e66 src/main_menu.cpp:863 main_menu::opening_screen()
#21
(dbghelp: @0x7ff778feec8e[cataclysm-tiles.exe+0x15fec8e]),
(libbacktrace: main+0x1d98@0x1415fec8e),
0x1415fec8e src/main.cpp:812 main
#22
(dbghelp: @0x7ff7779f13c1[cataclysm-tiles.exe+0x13c1]),
(libbacktrace: tmainCRTStartup+0x231@0x1400013c1),
0x1400013c1 /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build
/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c:323 _tmainCRTStartup
#23
(dbghelp: @0x7ff7779f14d6[cataclysm-tiles.exe+0x14d6]),
(libbacktrace: WinMainCRTStartup+0x16@0x1400014d6),
0x1400014d6 /opt/mxe/tmp-gcc-x86_64-w64-mingw32.static.gcc11/gcc-11.2.0.build
/mingw-w64-v9.0.0/mingw-w64-crt/crt/crtexe.c:178 WinMainCRTStartup
#24
(dbghelp: BaseThreadInitThunk+0x14@0x7ffa1b7f7614[KERNEL32.DLL+0x17614]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),
#25
(dbghelp: RtlUserThreadStart+0x21@0x7ffa1c9c26a1[ntdll.dll+0x526a1]),
(backtrace_syminfo failed: errno = -1, msg = no symbol table in PE/COFF executable),
(backtrace_pcinfo failed: errno = -1, msg = no debug info in PE/COFF executable),

@Standing-Storm Standing-Storm added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label Jan 4, 2023
@Night-Pryanik
Copy link
Contributor

We don't fix errors in third-party mods.

@Standing-Storm
Copy link
Contributor Author

I was asked to submit a bug report
image

@Standing-Storm
Copy link
Contributor Author

I've narrowed down the problem:

Attempting to apply PSYSHIELD_PARTIAL as an enchantment causes a segfault. Deleting the following JSON:

{
"type": "enchantment",
"id": "enchant_telepathic_psyshield",
"condition": "ALWAYS",
"has": "HELD",
"flags": [ "PSYSHIELD_PARTIAL" ]
}

...allows the mod to load just fine.

Editing the title above to reflect the error

@Standing-Storm Standing-Storm changed the title Repeated Segfault when attempting to load game using WIP mod Attempting to set PSYSHIELD_PARTIAL as an Enchantment flag causes a segfault Jan 4, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Feb 3, 2023

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not bump or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@github-actions github-actions bot added the stale Closed for lack of activity, but still valid. label Feb 3, 2023
@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Mar 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility stale Closed for lack of activity, but still valid.
Projects
None yet
Development

No branches or pull requests

2 participants