Maxon Developers Maxon Developers
    • Documentation
      • Cinema 4D Python API
      • Cinema 4D C++ API
      • Cineware API
      • ZBrush Python API
      • ZBrush GoZ API
      • Code Examples on Github
    • Forum
    • Downloads
    • Support
      • Support Procedures
      • Registered Developer Program
      • Plugin IDs
      • Contact Us
    • Categories
      • Overview
      • News & Information
      • Cinema 4D SDK Support
      • Cineware SDK Support
      • ZBrush 4D SDK Support
      • Bugs
      • General Talk
    • Unread
    • Recent
    • Tags
    • Users
    • Login

    plugin with STL + sdk C4D 10 = crash

    Scheduled Pinned Locked Moved SDK Help
    11 Posts 0 Posters 833 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • H Offline
      Helper
      last edited by

      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.

      1 Reply Last reply Reply Quote 0
      • H Offline
        Helper
        last edited by

        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

        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

        1 Reply Last reply Reply Quote 0
        • H Offline
          Helper
          last edited by

          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

          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

          1 Reply Last reply Reply Quote 0
          • H Offline
            Helper
            last edited by

            THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

            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.

            1 Reply Last reply Reply Quote 0
            • H Offline
              Helper
              last edited by

              THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

              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

              1 Reply Last reply Reply Quote 0
              • H Offline
                Helper
                last edited by

                THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                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.

                1 Reply Last reply Reply Quote 0
                • H Offline
                  Helper
                  last edited by

                  THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                  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

                  1 Reply Last reply Reply Quote 0
                  • H Offline
                    Helper
                    last edited by

                    THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                    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.

                    1 Reply Last reply Reply Quote 0
                    • H Offline
                      Helper
                      last edited by

                      THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                      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.

                      1 Reply Last reply Reply Quote 0
                      • H Offline
                        Helper
                        last edited by

                        THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                        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!

                        1 Reply Last reply Reply Quote 0
                        • H Offline
                          Helper
                          last edited by

                          THE POST BELOW IS MORE THAN 5 YEARS OLD. RELATED SUPPORT INFORMATION MIGHT BE OUTDATED OR DEPRECATED

                          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. 🙂

                          1 Reply Last reply Reply Quote 0
                          • First post
                            Last post