Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED
On 30/08/2007 at 11:25, xxxxxxxx wrote:
User Information: Cinema 4D Version: 10 Platform: Mac OSX ; Language(s) : C++ ;
--------- Hi all! I've made a simple filter plugin (UB) with STL (std::vector and std::map) on Mac OS X (10.4.10) This plugin was compiled under Xcode 2.5 and run fine under PPC machines (G5) but always crashes at startup on MacIntel machines (iMac 2Ghz). Xcode does not detect errors with my C++ sources. And the project uses same build options as Cinema4D sample (cinema4dsdk). I guess a mismatch between C4D "new/delete" and STL allocators ... Does anyone get this kind of problem ? Any help would be very appreciated. Wopr.
On 31/08/2007 at 10:18, xxxxxxxx wrote:
For all practical purposes, the following crash log is generated by Cinema4D Demo r10 using my plugin on MacIntel machines (with rosetta mode). I don't know why "GeFree" is called by the Apple System framework. It sounds like Cinema4D memory allocator override core system library.Why? Please Help. -------------------------------------------------------------------------- Thread 2: Crashed (0xb7fffabc, 0x7eca02eb) 0x004f3538: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : __Z7_GeFreePPv + 0x98 0x0038ab28: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : __Z7XGeFreePv + 0x18 0x915c6580: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE : _AEDisposeDesc + 0xf8 0x915c5798: /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE : _aeProcessAppleEvent + 0x1c4 0x93214a94: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : _AEProcessAppleEvent + 0x38 0x0001641c: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : __Z13DoAppleEventsP25OpaqueEventHandlerCallRefP14OpaqueEventRefPv + 0x7c 0x93210c9c: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : __Z23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 0x3e0 0x932102a0: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : __Z30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 0x160 0x93210120: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : _SendEventToEventTargetWithOptions + 0x28 0x93217b74: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : __Z29ToolboxEventDispatcherHandlerP25OpaqueEventHandlerCallRefP14OpaqueEventRefPv + 0x138 0x93210fb4: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : __Z23DispatchEventToHandlersP14EventTargetRecP14OpaqueEventRefP14HandlerCallRec + 0x6f8 0x932102a0: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : __Z30SendEventToEventTargetInternalP14OpaqueEventRefP20OpaqueEventTargetRefP14HandlerCallRec + 0x160 0x93217a18: /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox : _SendEventToEventTarget + 0x28 0x00016620: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : __Z14MacMessageLoopPVi + 0x1d0 0x000198d0: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : _main + 0x3b0 0x0000903c: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : __start + 0x2f8 0x00008d40: /Applications/CINEMA 4D R10.1 Demo/CINEMA 4D Demo.app/Contents/MacOS/CINEMA 4D Demo : start + 0x30 0x802fe18f: No symbol
On 03/09/2007 at 04:35, xxxxxxxx wrote:
There can be problems like that on Windows, I am not sure if it's the same on the Mac.
For the windows case, the problem is that CINEMA overrides the new & delete operators. The problem is, that this override happens after any global constructors are called. If there's memory allocated in a constructor that is called in the global scope, memory gets allocated by the original memory management, which afterwards is replaced.
Do you use any global class instances (be it STL or your own stuff) that might allocate memory in the constructor? I have had this happen with global std::string instances, I think streams are sometimes problematic, too.
Hope that helps! Timm
On 03/09/2007 at 11:20, xxxxxxxx wrote:
Thanks tdapper! My code doesn't allocate any memory chunk in constructors (globals or statics). The weird thing is once I put some STL code (only declarations) I got this bug. The very strange thing is "GeFree" is called on Cinema4D startup from Apple System framework, ONLY on i386 machines (iMac), not on PPC (neither on the Windows version). Maybe there is some mismatch with linked libraries or compilations options(C4D/gcc). I don't know. is there a way to deactivate (properly) the C4D new/delete overriding ? It would be very nice if Cinema4D SDK developers can investigate this strange bug. We're on dev support forum, isn't it? So, I'm still waiting for the support from SDK team.
On 03/09/2007 at 12:01, xxxxxxxx wrote:
Hi!
There is no way to override this behaviour. I wouldn't count for the SDK to be changed, so it makes sense to narrow down the problem. Can you tell which lines of code exactly bring up the problem and post them? That'd probably be helpful in figuring out a workaround.
Best Timm
On 05/09/2007 at 00:32, xxxxxxxx wrote:
Just create a "empty filter plugin" (release mode) for C4D 10. Add some STL code (std::map, std::vector, std::string). Build/Run on iMac. Crash at C4D startup.
On 05/09/2007 at 00:38, xxxxxxxx wrote:
Quote: Originally posted by wopr33 on 05 September 2007 > > * * * > > Just create a "empty filter plugin" (release mode) for C4D 10. Add some STL code (std::map, std::vector, std::string). Build/Run on iMac. > > Crash at C4D startup. > > > > > * * *
Hi there!
You'd need to be more specific. Where do you add the code? Please really post an example (even if it is dead simple).
I am having quite a few CINEMA Plugins that make heavy use of STL and that work just fine on the Mac.
Timm
On 05/09/2007 at 01:12, xxxxxxxx wrote:
Same here. I use STL all the time and never got crashes due to it, either on PC nor on MAC PPC/Intel...except I made a mistake.
code would be useful.
On 17/09/2007 at 05:15, xxxxxxxx wrote:
Hi all! We've finally give up this problem. Actually our plugin runs perfectly on Betatesters's MacIntel machines. But the plug is still buggy on our dev machines. We guess, it's a install problem from XCode/C4D SDK conflicts. Maybe. Thanks for your support.
On 06/12/2008 at 11:25, xxxxxxxx wrote:
I'm encountering similar problems with crashiness using std::vector<t>. These are declared as class members, so I take it that the constructor part doesn't matter as these are instantiated with the class creation directly (same problem, different place).
Unfortunately, the code being used is from another source and uses std::vector rather extensively. I'd rather not have to rewrite all of the code to use something else (like GeDynamicArray) - and I don't know how converting here might change the behavior of the code!
On 06/12/2008 at 15:25, xxxxxxxx wrote:
For some reason, my newest code isn't crashing without even changing it much. Ignore my last reply.