Skip to content

Loading Watah with dummy gamelogic crashes in OptimiseMapGeometryCore #1664

Closed
@slipher

Description

@slipher

Build Daemon with BUILD_DUMMY_GAMELOGIC enabled and then ./daemon -set vm.cgame.type 3 +loadmap watah-b5

Thread 1 "daemon" received signal SIGSEGV, Segmentation fault.
SetLightDeluxeMode<shaderCommands_t>(shaderCommands_t*, shader_t*, stageType_t, lightMode_t&, deluxeMode_t&) [clone .constprop.0] (shader=0x0, 
    stageType=stageType_t::ST_DIFFUSEMAP, lightMode=@0x7fffffffc30c: lightMode_t::FULLBRIGHT, deluxeMode=@0x7fffffffc308: deluxeMode_t::NONE, 
    obj=<optimized out>) at /unv/Unvanquished/daemon/src/engine/renderer/ShadeCommon.h:124
124             if ( hasExplicitelyDisabledLightMap( shader ) && !isExplicitelyVertexLitSurface( shader ) )
(gdb) bt
#0  SetLightDeluxeMode<shaderCommands_t>(shaderCommands_t*, shader_t*, stageType_t, lightMode_t&, deluxeMode_t&) [clone .constprop.0] (shader=0x0, 
    stageType=stageType_t::ST_DIFFUSEMAP, lightMode=@0x7fffffffc30c: lightMode_t::FULLBRIGHT, deluxeMode=@0x7fffffffc308: deluxeMode_t::NONE, 
    obj=<optimized out>) at /unv/Unvanquished/daemon/src/engine/renderer/ShadeCommon.h:124
#1  0x00005555556bcc80 in ProcessShaderLightMapping (pStage=0x7fffd74b4c40) at /unv/Unvanquished/daemon/src/engine/renderer/tr_shade.cpp:843
#2  0x0000555555683d59 in MarkShaderBuildLightMapping (pStage=0x7fffd74b4c40) at /unv/Unvanquished/daemon/src/engine/renderer/GeometryOptimiser.cpp:89
#3  0x000055555567e9b6 in MarkShaderBuild (vertexAnimation=false, vertexSkinning=false, bspSurface=true, lightMapNum=<optimized out>, shader=0x7fffd74b4680)
    at /unv/Unvanquished/daemon/src/engine/renderer/GeometryOptimiser.cpp:134
#4  OptimiseMapGeometryCore (world=<optimized out>, numSurfaces=<optimized out>, rendererSurfaces=<optimized out>)
    at /unv/Unvanquished/daemon/src/engine/renderer/GeometryOptimiser.cpp:221
#5  R_CreateWorldVBO () at /unv/Unvanquished/daemon/src/engine/renderer/tr_bsp.cpp:2710
#6  0x000055555568b3ec in RE_LoadWorldMap (name=<optimized out>) at /unv/Unvanquished/daemon/src/engine/renderer/tr_bsp.cpp:4606
#7  0x00005555555ef463 in operator() (__closure=<optimized out>, mapName=...) at /unv/Unvanquished/daemon/src/engine/client/cl_cgame.cpp:1244
#8  Util::apply_impl<CGameVM::QVMSyscall(int, Util::Reader&, IPC::Channel&)::<lambda(const std::string&)>, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, 0> (tuple=..., func=...) at /unv/Unvanquished/daemon/src/common/Util.h:136
#9  Util::apply<CGameVM::QVMSyscall(int, Util::Reader&, IPC::Channel&)::<lambda(const std::string&)>, std::tuple<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > (tuple=..., func=...) at /unv/Unvanquished/daemon/src/common/Util.h:141
#10 IPC::detail::HandleMsg<CGameVM::QVMSyscall(int, Util::Reader&, IPC::Channel&)::<lambda(const std::string&)>, IPC::Id<0, 34>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > (func=..., reader=..., channel=...) at /unv/Unvanquished/daemon/src/common/IPC/Channel.h:200
#11 IPC::HandleMsg<IPC::Message<IPC::Id<0, 34>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, CGameVM::QVMSyscall(int, Util::Reader&, IPC::Channel&)::<lambda(const std::string&)> > (func=..., reader=..., channel=...) at /unv/Unvanquished/daemon/src/common/IPC/Channel.h:241
#12 CGameVM::QVMSyscall (this=<optimized out>, syscallNum=<optimized out>, reader=..., channel=...)
    at /unv/Unvanquished/daemon/src/engine/client/cl_cgame.cpp:1242
#13 0x00005555555f0e65 in CGameVM::Syscall (this=0x555555854880 <cgvm>, id=<optimized out>, reader=..., channel=...)
    at /unv/Unvanquished/daemon/src/engine/client/cl_cgame.cpp:1066
#14 0x000055555571e66f in VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)0, (unsigned short)0>, int>, IPC::Reply<> >, int>(int&&)::{lambda(unsigned int, Util::Reader)#1}::operator()(unsigned int, Util::Reader) (reader=..., id=34, __closure=0x7fffffffd6c8)
    at /unv/Unvanquished/daemon/src/engine/framework/VirtualMachine.h:138
#15 IPC::detail::SendMsg<VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(unsigned int, Util::Reader)#1}&, IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(IPC::Channel&, VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(unsigned int, Util::Reader)#1}&, IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) [clone .constprop.0] (channel=..., messageHandler=...)
    at /unv/Unvanquished/daemon/src/common/IPC/Channel.h:174
#16 0x0000555555702bba in IPC::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__c--Type <RET> for more, q to quit, c to continue without paging--
xx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(unsigned int, Util::Reader)#1}, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(IPC::Channel&, VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&)::{lambda(unsigned int, Util::Reader)#1}&&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (messageHandler=..., channel=...)
    at /unv/Unvanquished/daemon/src/common/IPC/Channel.h:232
#17 VM::VMBase::SendMsg<IPC::SyncMessage<IPC::Message<IPC::Id<(unsigned short)3, (unsigned short)0>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, IPC::Reply<> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&&) (this=0x555555854880 <cgvm>) at /unv/Unvanquished/daemon/src/engine/framework/VirtualMachine.h:136
#18 VM::CommonVMServices::ProxyCmd::Run (this=<optimized out>, args=...) at /unv/Unvanquished/daemon/src/engine/framework/CommonVMServices.cpp:97
#19 0x0000555555705634 in Cmd::ExecuteCommand (command=..., parseCvars=false, env=0x0) at /unv/Unvanquished/daemon/src/engine/framework/CommandSystem.cpp:215
#20 0x0000555555705c2c in Cmd::ExecuteCommandBuffer () at /usr/include/c++/12/bits/basic_string.h:1063
#21 0x00005555555bf6df in Com_Frame () at /unv/Unvanquished/daemon/src/engine/qcommon/common.cpp:919
#22 0x00005555555c2609 in Application::ClientApplication::Frame (this=0x555555ff26c0 <Application::GetApp()::app>)
    at /unv/Unvanquished/daemon/src/engine/client/ClientApplication.cpp:112
#23 0x00005555555a567e in Application::Frame () at /unv/Unvanquished/daemon/src/engine/framework/Application.cpp:87
#24 main (argc=<optimized out>, argv=<optimized out>) at /unv/Unvanquished/daemon/src/engine/framework/System.cpp:1006

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions