Skip to content

Conversation

@ImBubbles
Copy link
Contributor

@ImBubbles ImBubbles commented Aug 23, 2025

Note: This isn't a complete fix for all linux issues, still seems to have issues and seems to only output for modellib before crashing -- hopefully this isn't something specific to linux and something you guys can handle

I still am having the error of Dump: No schemas in libtier0.so but supposedly that's not to do with what I'm doing and I even found where it's happening but I'm so lost when it comes to the exact issue. (This assumption is based on a related bug report)

Fixes

  • Obtaining/finding of CreateInterface and children of libschemasystem.so (offset fixes)
  • Native linux macro (already fixed from previous PR off of this fork)
  • Finally has output in sdk/include/source2sdk/modellib/

Some stuff isn't completely completely fixed, such as no schemas in libtier0.so and GenerateTypeScopeSdk()

Console output (using gdb)

(gdb) run
Starting program: /home/bubbles/CLionProjects/source2gen-linuxpatches/build/Release/bin/source2gen 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Dump: Loading libclient.so
Dump: Loading libengine2.so
[Detaching after vfork from child process 15653]
Dump: Loading libschemasystem.so
Dump: Loading libtier0.so
Dump: Loading libmatchmaking.so
Dump: Loading libanimationsystem.so
Dump: Loading libhost.so
Dump: Loading libmaterialsystem2.so
Dump: Loading libmeshsystem.so
Dump: Loading libnetworksystem.so
Dump: Loading libpanorama.so
Dump: Loading libparticles.so
Dump: Loading libpulse_system.so
Dump: Loading libresourcesystem.so
Dump: Loading libscenefilecache.so
Dump: Loading libscenesystem.so
Dump: Loading libserver.so
Dump: Loading libsoundsystem.so
Dump: Loading libvphysics2.so
Dump: Loading libworldrenderer.so
Dump: Starting
Dump: No schemas in libtier0.so
GenerateTypeScopeSdk: Assembling module modellib with 22 enum(s) and 113 class(es)

Program received signal SIGSEGV, Segmentation fault.
0x0000555555598b52 in sdk::GenerateTypeScopeSdk(source2_gen::Options const&, sdk::GeneratorCache&, std::basic_string_view<char, std::char_traits<char> >, std::unordered_set<CSchemaEnumInfo const*, std::hash<CSchemaEnumInfo const*>, std::equal_to<CSchemaEnumInfo const*>, std::allocator<CSchemaEnumInfo const*> > const&, std::unordered_set<CSchemaClassInfo const*, std::hash<CSchemaClassInfo const*>, std::equal_to<CSchemaClassInfo const*>, std::allocator<CSchemaClassInfo const*> > const&) ()
(gdb) bt
#0  0x0000555555598b52 in sdk::GenerateTypeScopeSdk(source2_gen::Options const&, sdk::GeneratorCache&, std::basic_string_view<char, std::char_traits<char> >, std::unordered_set<CSchemaEnumInfo const*, std::hash<CSchemaEnumInfo const*>, std::equal_to<CSchemaEnumInfo const*>, std::allocator<CSchemaEnumInfo const*> > const&, std::unordered_set<CSchemaClassInfo const*, std::hash<CSchemaClassInfo const*>, std::equal_to<CSchemaClassInfo const*>, std::allocator<CSchemaClassInfo const*> > const&) ()
#1  0x0000555555589a96 in source2_gen::Dump(source2_gen::Options) ()
#2  0x000055555555e7b2 in main ()

Other discoveries (aka what's still broken)

ImBubbles@8078004#diff-49688d0e9afd4924581d40f13c5d780deba38ff8973e5de5ce28516a40f92fd0

In method GetRequiredNamesForClass - "rn here special" is printed, but not "Null pszName!" nor "im here, but im confused"
Code referenced

            std::cout << "rn here special" << std::endl;
            if(field.m_pszName != nullptr) {
                std::cout << "Null pszName!" << std::endl;
                continue;
            }
            std::cout << "im here, but im confused" << std::endl;

fix: Undefine native linux definition (neverlosecc#91)
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

Successfully merging this pull request may close these issues.

1 participant