64bit compile problem in Windows


#1

Hi,

Am having a problem with a 64bit compile on Windows. The OSX works fine in 32bit and 64bit environments, AU, VST and AAX, but the Windows version is causing a bit of some weird issues. The 32bit VST compiles, is recognised by all DAWs and functions as it should, the 64bit will compile, but the VST version is not recognised by any DAW and the signed AAX will pass verification on PT startup, but on a session load it comes up with Insufficient Resources error and on a new insert it’s the error message. But here is the weird part this is not consistent, sometimes it will load from the Load Session start up, but give an error when a new instance is created, other times it will not load from the ‘Load Session’ but will allow for a new instance to be created in a plugin slot.

Have been able to get the following from the PT .trace logs, this is from the load session error.

3421404244,0047c,0033: SMgr_DSPCache::InstantiatePlugIn - pluginType: Native, name: "MSg", track "Audio 1"
3421404466,0047c,0e0d: Sys_PACE::GetDigitalSignature - looking for Eden dsig for path "c:\Program Files\Common Files\Avid\Audio\Plug-Ins\MSg.aaxplugin\Contents\x64\MSg.aaxplugin"
3421438473,0047c,0e0f: Access Violation: Thread "Main Thread (id=kThreadTableID_MainThread)"
3421439745,0047c,0e0f: System exception details: Access violation occurred, unable to read location: 0xFFFFFFFFFFFFFFFF, Thread: "Main Thread (id=kThreadTableID_MainThread)"
3421439777,0047c,0e0f: System exception details: Access violation occurred, unable to read location: 0xFFFFFFFFFFFFFFFF, Thread: "Main Thread (id=kThreadTableID_MainThread)"
3421439818,0047c,0033: SMgr_DSPCache::InstantiatePlugIn - err = -30001
3421440570,0047c,0033: SMgr_DSPCache::InstantiateMixer - pluginType: Native, numInputsDesired: 2, numOutputsRequired: 2, name: "Private Solo Bus"
3421441885,0047c,0033: SMgr_DSPCache::InstantiateMixer - returning mixer spec (0000000027DFFBD0). numActualInputs: 2, numActualOutputs: 2, err = 0
3421441982,0047c,0033: SMgr_DSPCache::SetMixerNumInputPorts - (0000000027DFCB60), num input ports: 6, name: "Parallels Sound Card 1-2"
3421442320,0047c,0033: SMgr_DSPCache::SetMixerNumInputPorts - results - numActualInputs: 6, numActualOutputs: 2, err = 0
3421482491,0047c,0e0c: Setting max session sample to 3810240000
3425326854,0047c,0e0c: Setting max session sample to 3810240000
3429276047,0047c,0076: Mem Usage: VM percent used 0.00 -> 20.14
3451841923,0047c,0033: SMgr_DSPCache::InstantiatePlugIn - pluginType: Native, name: "MSg", track "Audio 1"
3492517595,0047c,0033: SMgr_DSPCache::FreePlugIn - pluginType: Native, name: "MSg", track "Audio 1"
3544346368,0047c,000f: CSynchronizer::Stop

This is from the new instance error log

2301733521,003c8,0033: SMgr_DSPCache::InstantiatePlugIn - pluginType: Native, name: "MSg", track "Audio 1"
2301733581,003c8,0073: CAAXCollection::GetSideChainStemFormat returning error: -20039
2301733597,003c8,0073: CAAXCollection::GetSideChainStemFormat returning error: -20039
2301733609,003c8,0073: CAAXCollection::GetSideChainStemFormat returning error: -20039
2301734938,003c8,0e0f: Access Violation: Thread "Main Thread (id=kThreadTableID_MainThread)"
Stacktrace:
	0x0000000002F65A4D : DigiTraceRegisterHandlerFunc + 0x0000000000003D1E (DigiTrace.dll @ 0x0000000002F60000) 
	0x0000000002881DC7 : XML_GetCurrentColumnNumber + 0x00000000001DAF3B (CFnd.dll @ 0x0000000002690000) 
	0x000000006E6BF769 : _CxxFrameHandler3 + 0x0000000000000175 (MSVCR100.dll @ 0x000000006E660000) 
	0x000000006E6C0BCC : _CxxExceptionFilter + 0x000000000000037C (MSVCR100.dll @ 0x000000006E660000) 
	0x000000006E6C1235 : _CxxExceptionFilter + 0x00000000000009E5 (MSVCR100.dll @ 0x000000006E660000) 
	0x000000006E6C144D : _CxxExceptionFilter + 0x0000000000000BFD (MSVCR100.dll @ 0x000000006E660000) 
	0x000000006E6BF66B : _CxxFrameHandler3 + 0x0000000000000077 (MSVCR100.dll @ 0x000000006E660000) 
	0x0000000076E19D0D : RtlDecodePointer + 0x00000000000000BD (ntdll.dll @ 0x0000000076DF0000) 
	0x0000000076E091AF : RtlUnwindEx + 0x0000000000000BBF (ntdll.dll @ 0x0000000076DF0000) 
	0x0000000076E41278 : KiUserExceptionDispatcher + 0x000000000000002E (ntdll.dll @ 0x0000000076DF0000) 
	0x000007FEEB56A912 : ACFRegisterPlugin + 0x0000000000004AF2 (MSg.aaxplugin @ 0x000007FEEB340000) 
	0x000007FEEB56B830 : ACFRegisterPlugin + 0x0000000000005A10 (MSg.aaxplugin @ 0x000007FEEB340000) 
	0x000007FEEB342C0A : <No Symbol> 0x000007FEEB342C0A (MSg.aaxplugin @ 0x000007FEEB340000) 
	0x000007FEEB342CAA : <No Symbol> 0x000007FEEB342CAA (MSg.aaxplugin @ 0x000007FEEB340000) 
	0x000000001866CDC6 : AAXH_CPlugInConfig::AAXH_CPlugInConfig + 0x0000000000009B16 (AAXHost.dll @ 0x0000000017E20000) 
	0x000000001866E88E : AAXH_CPlugInConfig::AAXH_CPlugInConfig + 0x000000000000B5DE (AAXHost.dll @ 0x0000000017E20000) 
	0x0000000018687DFF : AAXH_IHostContext::New + 0x0000000000006B2F (AAXHost.dll @ 0x0000000017E20000) 
	0x000000000B09F2E2 : Cmn_TypedException<L10N_ExceptionData>::`vbase destructor' + 0x0000000000002B92 (AAE.dll @ 0x000000000B070000) 
	0x000000000B0C0BD3 : Cmn_TypedException<L10N_ExceptionData>::Cmn_TypedException<L10N_ExceptionData> + 0x0000000000015763 (AAE.dll @ 0x000000000B070000) 
	0x000000000B2256E8 : FicSetHostPlugInSampleCallback + 0x0000000000035B18 (AAE.dll @ 0x000000000B070000) 
	0x000000000B22FD70 : FicSetHostPlugInSampleCallback + 0x00000000000401A0 (AAE.dll @ 0x000000000B070000) 
	0x000007FEEF572136 : SMgr_DSPCache::InstantiatePlugIn + 0x0000000000000246 (SMgr.dll @ 0x000007FEEF550000) 
	0x000007FEEF5E3AE9 : SMgr_PlugInInst::Instantiate + 0x00000000000001B9 (SMgr.dll @ 0x000007FEEF550000) 
	0x000007FEEF5E2E03 : SMgr_PlugInInst::MakeActive + 0x0000000000000053 (SMgr.dll @ 0x000007FEEF550000) 
	0x000007FEEF5F370B : SMgr_PlugInInstSet::MakeActive + 0x000000000000004B (SMgr.dll @ 0x000007FEEF550000) 
	0x000007FEEF5F2DFD : SMgr_PlugInInstSet::UpdateActiveStateX + 0x00000000000008ED (SMgr.dll @ 0x000007FEEF550000) 
	0x000007FEEF5F24DE : SMgr_PlugInInstSet::UpdateActiveState + 0x00000000000000DE (SMgr.dll @ 0x000007FEEF550000) 
	0x000000000D87A018 : TRulerSelectionLayer_ForwardDeclarationHack::TrackLeakEntry + 0x0000000000338FE8 (ProTools.dll @ 0x000000000C320000) 
	0x000000000D87F46B : TRulerSelectionLayer_ForwardDeclarationHack::TrackLeakEntry + 0x000000000033E43B (ProTools.dll @ 0x000000000C320000) 
	0x000000000D882C1D : TRulerSelectionLayer_ForwardDeclarationHack::TrackLeakEntry + 0x0000000000341BED (ProTools.dll @ 0x000000000C320000) 
	0x000000000D9510A7 : DNet_RenderFlags::operator^ + 0x00000000000C32E7 (ProTools.dll @ 0x000000000C320000) 
	0x000000000D91952D : DNet_RenderFlags::operator^ + 0x000000000008B76D (ProTools.dll @ 0x000000000C320000) 
	0x000000000D95072E : DNet_RenderFlags::operator^ + 0x00000000000C296E (ProTools.dll @ 0x000000000C320000) 
	0x000000000D6CE18E : TRulerSelectionLayer_ForwardDeclarationHack::TrackLeakEntry + 0x000000000018D15E (ProTools.dll @ 0x000000000C320000) 
	0x0000000003E2E35F : SDS_ITokenListenerBase::IntHandleToken + 0x000000000000000F (MFnd.dll @ 0x0000000003C70000) 
	0x0000000003E31C43 : SDS_ITokenTask::ProcessTokens + 0x0000000000000113 (MFnd.dll @ 0x0000000003C70000) 
	0x000000000CBA2C60 : Cmn_TypedExceptionDescription<Cmn_FatalException>::GetDescription + 0x0000000000002470 (ProTools.dll @ 0x000000000C320000) 
	0x00000000037F90DC : DFW_TimerImpl::Fire + 0x000000000000005C (DFW.dll @ 0x00000000036D0000) 
	0x00000000037F953E : DFW_TimerImpl::MasterCallback + 0x000000000000019E (DFW.dll @ 0x00000000036D0000) 
	0x00000000037F9D02 : DFW_TimerImpl::Create + 0x00000000000006D2 (DFW.dll @ 0x00000000036D0000) 
	0x0000000076D092D3 : KillTimer + 0x00000000000001B3 (USER32.dll @ 0x0000000076CF0000) 
	0x0000000076D09A1E : TranslateMessageEx + 0x00000000000000EE (USER32.dll @ 0x0000000076CF0000) 
	0x00000000037ECE22 : DFW_EventLoop::RunApplicationEventLoop + 0x0000000000000082 (DFW.dll @ 0x00000000036D0000) 
	0x00000000038123B6 : TApplication::Run + 0x0000000000000026 (DFW.dll @ 0x00000000036D0000) 
	0x000000000D25C17F : Cmn_TypedException<MA_OSErrData>::Throw + 0x0000000000311AEF (ProTools.dll @ 0x000000000C320000) 
	0x000000000D25CF4E : LaunchProTools + 0x0000000000000C2E (ProTools.dll @ 0x000000000C320000) 
	0x000000013F6CFF2F : Cmn_FatalException::Cmn_FatalException + 0x000000000000109F (ProTools.exe @ 0x000000013F6B0000) 
	0x000000013F6D0E65 : Cmn_FatalException::Cmn_FatalException + 0x0000000000001FD5 (ProTools.exe @ 0x000000013F6B0000) 
	0x000000013F6CBFC3 : Cmn_TypedException<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::Cmn_TypedException<std::basic_string<char,std::char_traits<char>,std::allocator<char> > > + 0x0000000000016C13 (ProTools.exe @ 0x000000013F6B0000) 
	0x000000013FD01333 : Cmn_FatalException::Cmn_FatalException + 0x00000000006324A3 (ProTools.exe @ 0x000000013F6B0000) 
	0x00000001405D2AEF : Cmn_TypedException<std::basic_string<char,std::char_traits<char>,std::allocator<char> > >::`vbtable' + 0x00000000006F1737 (ProTools.exe @ 0x000000013F6B0000) 
2301743305,003c8,0e0f: System exception details: Access violation occurred, unable to read location: 0xFFFFFFFFFFFFFFFF, Thread: "Main Thread (id=kThreadTableID_MainThread)"
2301743334,003c8,0e0f: System exception details: Access violation occurred, unable to read location: 0xFFFFFFFFFFFFFFFF, Thread: "Main Thread (id=kThreadTableID_MainThread)"
2301743344,003c8,0073: AAXH_CEffectFactory::InstantiatePlugIn error: -30003 Access violation occurred, unable to read location: 0xFFFFFFFFFFFFFFFF

2301743410,003c8,0700: ERROR!! CFicExternalWidget::InstantiatePlugIn: plug-in: MSg.aaxplugin: InstantiateProcess() returned error code: -30003
2301743427,003c8,0033: SMgr_DSPCache::InstantiatePlugIn - err = -30003
2301776707,003c8,0d02: Performing TCommand: class TPoseNoteAlertCommand  
2301802743,003c8,0700: TAEffectNameView::DrawLabel - MSg
    Returning truncated names when requested character length is 3.
    Reverting to default abbreviation.
2304545390,003c8,0d02: Performing TCommand: class TControlTracker  
2304545434,003c8,0d02: Completed TCommand: class TControlTracker
2304569925,003c8,0d02: Completed TCommand: class TPoseNoteAlertCommand`

This is a real headache, so any suggestions as to where to begin looking would be greatly appreciated.

Regards

Dave


#2

Are you compiling this with visual studio? I remember having similar errors when compiling an AAX with a GCC/Mingw or clang based compiler. The reason is that AAX does not stick to .COM style v-tables. They include some virtual destructors in their interface classes which are have different v-table positions depending on the compiler.

Unfortunately, there is no workaround for this other than using VS.