Crash in DrawNodeInBoxMode
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report
Hey guys,
I am getting a crash when I repeatedly call EvalWorldState() on a geometry with Skin modifier which has Display as Box. This happens only in 3ds Max 2020 and 2021.
Steps to reproduce:
1. create a sphere and a biped
2. put a Skin mod on the sphere, pick the biped
3. create a Phoenix Simulator (any Phoenix 4.x will do, you can start a trial here https://www.chaosgroup.com/trial/phoenix-fd-3ds-max)
4. make the sphere displayed as box
5. run the sim - crash:
It is an infinite recursion inside DrawNodeInBoxMode:
.... [repeat]
3dsmax.exe!BaseNode::GetObjTMAfterWSM(int,class Interval *) Unknown
3dsmax.exe!BaseNode::GetObjectTM(int,class Interval *) Unknown
bonesDef.dlm!BonesDefMod::UpdateTMCacheTable(class BoneModData *,int,class Interval &,int) Unknown
bonesDef.dlm!BonesDefMod::ModifyObject(int,class ModContext &,class ObjectState *,class INode *) Unknown
core.dll!ModAppEvaluator::ModifyObject(class ObjectState &) Unknown
core.dll!ModAppEvaluator::ConvertAndModifyObject(void) Unknown
core.dll!ModAppEvaluator::Compute(void) Unknown
core.dll!ModApp::Eval(int,unsigned long,class Modifier *,class INode *,int &,bool,int) Unknown
core.dll!GenDerivedObject::Eval(int,class Matrix3 *,class Interval,unsigned long,class INode *,int &,bool,int) Unknown
core.dll!GenDerivedObject::Eval(int) Unknown
3dsmax.exe!Node::UpdateWS(int,int) Unknown
3dsmax.exe!BaseNode::GetObjTMAfterWSM(int,class Interval *) Unknown
3dsmax.exe!BaseNode::GetObjectTM(int,class Interval *) Unknown
3dsmax.exe!BaseNode::DrawNodeInBoxMode(int,class View3D *,class Mtl *,int) Unknown
MaxGraphicsObjects.dll!MaxGraphics::DisplayNodeAccessoriesCallback::DoDisplay(int,class MaxSDK::Graphics::DisplayCallbackContextInternal const &) Unknown
GraphicsDriver.dll!MaxGraphics::Server::SimpleServerLegacyImmediateCallback::Draw(class OGS::Devices::ADrawContext &,class MaxSDK::Graphics::DisplayCallbackContextInternal const &,class MaxSDK::Graphics::RefPtr<class MaxGraphics::Server::ServerMaterial,class MaxSDK::Graphics::SafeReferenceObjectProxy<class MaxGraphics::Server::ServerMaterial>,class MaxSDK::Graphics::DefaultLifeTimePolicy<class MaxGraphics::Server::ServerMaterial> > const &) Unknown
GraphicsDriver.dll!MaxGraphics::Server::OgsDisplayCallbackRenderItem::DrawLegacyCallbacks(class OGS::Devices::ADrawContext &,class MaxGraphics::Server::DrawContextImp *) Unknown
GraphicsDriver.dll!MaxGraphics::Server::OgsDisplayCallbackRenderItem::Draw(class OGS::Devices::ADrawContext &,bool) Unknown
OGSGraphics.dll!00007ffa974c7f56() Unknown
OGSGraphics.dll!00007ffa974c7fd4() Unknown
OGSGraphics.dll!00007ffa9748db59() Unknown
OGSGraphics.dll!00007ffa97621b82() Unknown
OGSGraphics.dll!00007ffa97625d1f() Unknown
OgsExtRendering.dll!00007ffaa450c2d1() Unknown
OGSGraphics.dll!00007ffa975c5f6d() Unknown
OgsExtRendering.dll!00007ffaa44e109e() Unknown
OGSGraphics.dll!00007ffa973d8aa6() Unknown
GraphicsDriver.dll!MaxGraphics::Server::ServerSimpleRenderStage::Run(void) Unknown
GraphicsDriver.dll!MaxGraphics::Server::ServerRenderStage::CallCustomFunction(unsigned long,class MaxGraphics::InputChangeBuffer &,class MaxGraphics::OutputChangeBuffer *) Unknown
GraphicsDriver.dll!MaxGraphics::Server::ServerSimpleRenderStage::CallCustomFunction(unsigned long,class MaxGraphics::InputChangeBuffer &,class MaxGraphics::OutputChangeBuffer *) Unknown
GraphicsDriver.dll!MaxGraphics::Commands::fnCommandCallback_CustomFunction(class MaxGraphics::InputChangeBuffer &) Unknown
GraphicsDriver.dll!MaxGraphics::Commands::BatchedCommand::Execute(class ThreadingTools::BaseThread *) Unknown
GraphicsDriver.dll!MaxGraphics::Commands::RenderThreadImpl::PostCommand(class MaxSDK::Graphics::RefPtr<class MaxGraphics::Commands::BaseCommand,class MaxSDK::Graphics::SafeReferenceObjectProxy<class MaxGraphics::Commands::BaseCommand>,class MaxSDK::Graphics::DefaultLifeTimePolicy<class MaxGraphics::Commands::BaseCommand> > const &) Unknown
GraphicsDriver.dll!MaxGraphics::Commands::RenderThreadImpl::FlushCommands(void) Unknown
GraphicsDriver.dll!MaxGraphics::Commands::RenderThread::SendCommand(class MaxSDK::Graphics::RefPtr<class MaxGraphics::Commands::BaseCommand,class MaxSDK::Graphics::SafeReferenceObjectProxy<class MaxGraphics::Commands::BaseCommand>,class MaxSDK::Graphics::DefaultLifeTimePolicy<class MaxGraphics::Commands::BaseCommand> > const &,class MaxSDK::Graphics::RefPtr<class MaxGraphics::Commands::ISendCommandCallback,class MaxSDK::Graphics::SafeReferenceObjectProxy<class MaxGraphics::Commands::ISendCommandCallback>,class MaxSDK::Graphics::DefaultLifeTimePolicy<class MaxGraphics::Commands::ISendCommandCallback> > const &) Unknown
MaxGraphicsObjects.dll!MaxGraphics::CacheSubGraphOutputFragment::DoEvaluate(void *) Unknown
FragmentGraph.dll!00007ffacdb93623() Unknown
FragmentGraph.dll!00007ffacdb9360a() Unknown
FragmentGraph.dll!00007ffacdb9360a() Unknown
FragmentGraph.dll!00007ffacdb94b97() Unknown
FragmentGraph.dll!00007ffacdb93623() Unknown
ViewSystem.dll!00007ffad7729b0b() Unknown
ViewSystem.dll!00007ffad772784b() Unknown
ViewSystem.dll!00007ffad77288c7() Unknown
ViewSystem.dll!00007ffad7731244() Unknown
3dsmax.exe!IViewPanelManagerImp::ApplyToAllVisibleIViewPanels(class std::function<void > const &) Unknown
ViewSystem.dll!00007ffad773079c() Unknown
00007ff9d8bf2d5d() Unknown
00007ff9d8c47320() Unknown
00007ff9d8c46c6f() Unknown
clr.dll!00007ffa35d421fe() Unknown
3dsmax.exe!wWinMain() Unknown
3dsmax.exe!__scrt_common_main_seh() Unknown
00007ff9d67f4b78() Unknown
clr.dll!00007ffa35d46c23() Unknown
clr.dll!00007ffa35d46b38() Unknown
clr.dll!00007ffa35d47398() Unknown
clr.dll!00007ffa35db7cf9() Unknown
clr.dll!00007ffa35db86b3() Unknown
clr.dll!00007ffa35db8567() Unknown
clr.dll!00007ffa35db7eb3() Unknown
clr.dll!00007ffa35db7e31() Unknown
clr.dll!00007ffa35db8e84() Unknown
mscoreei.dll!00007ffaccb18c01() Unknown
mscoree.dll!00007ffaccbca56c() Unknown
kernel32.dll!00007ffaf8907bd4() Unknown
ntdll.dll!00007ffaf9a2ced1() Unknown
I have also attached a scene - just open and start the Phoenix simulation immediately.
Thank you in advance, cheers!