[Bf-committers] SVN commit: /data/svn/bf-blender [23789] trunk/blender/intern/ghost/intern: Cocoa : fix secondary window display bug issue

Galen Beals galenbeals at gmail.com
Wed Oct 14 23:19:55 CEST 2009


Hey Damien,

I just put a build on Graphicall and a lot of people who downloaded  
and ran it said that it crashed their computers. So far only one user  
has positively identified his graphics card as ATI. Another user who  
said that the build DID work for him was running it on a MacBook Pro  
but did not say what graphics chip it was. I guessing it was an  
Nvidea. ;)
> Hi Jasper,
>
> Strange... A user level app that triggers a kernel panic...
>
> Anyway, from your backtrace, it seems the ATI driver is doing
> something not clear.
>
> The only option to change in cmake is to set WITH_COCOA to on to get
> cocoa build.
> If you are able (but maybe difficult with a kernel panic) to locate
> (using xcode) the blender code line that triggers it, that'll be  
> useful.
>
> Damien
>
> Le 14 oct. 2009 à 01:00, Jasper Mine a écrit :
>
> > Damien:
> >
> > I'm still getting the kernel panic using cmake and xcode.  If I can
> > possibly trace this using the apple tools I can do that.  Would I
> > change any of the settings in ccmake gui?  Here is the report I
> > receive when I reboot.
> >
> > Tue Oct 13 18:51:50 2009
> > panic(cpu 1 caller 0x001AB0FE): Kernel trap at 0x00989a80, type
> > 14=page fault, registers:
> > CR0: 0x80010033, CR2: 0xff66a5d2, CR3: 0x01019000, CR4: 0x000006e0
> > EAX: 0x02fef000, EBX: 0xff66a5d2, ECX: 0x00000000, EDX: 0x06be3230
> > CR2: 0xff66a5d2, EBP: 0x324d77e8, ESI: 0x00000000, EDI: 0x00000008
> > EFL: 0x00010246, EIP: 0x00989a80, CS:  0x00000004, DS:  0x0000000c
> > Error code: 0x00000000
> >
> > Backtrace (CPU 1), Frame : Return Address (4 potential args on  
> stack)
> > 0x324d75b8 : 0x12b4c6 (0x45f91c 0x324d75ec 0x13355c 0x0)
> > 0x324d7608 : 0x1ab0fe (0x469a98 0x989a80 0xe 0x469248)
> > 0x324d76e8 : 0x1a1713 (0x324d7708 0x2ff0158 0x324d77ac 0x324d7788)
> > 0x324d7700 : 0x989a80 (0xe 0x990048 0x6be000c 0xc000c)
> > 0x324d77e8 : 0x989e5d (0x2fef000 0x3d65700 0x6be3230 0x0)
> > 0x324d7818 : 0x96df57 (0x2fef000 0x3d65700 0x6be3230 0x0)
> > 0x324d7858 : 0x9850d0 (0x2fef000 0x3d65700 0x6be3230 0x1596e3f8)
> > 0x324d7878 : 0x96b526 (0x2fef000 0x3d65700 0x6be3230 0xf9)
> > 0x324d7898 : 0x98511a (0x2fef000 0x6be322c 0x0 0x0)
> > 0x324d78b8 : 0x970da7 (0x2fef000 0x6be322c 0x0 0x0)
> > 0x324d78e8 : 0x99bf16 (0x6be3000 0x6be322c 0xc8 0x0)
> > 0x324d7938 : 0x99c093 (0x6be3000 0x324d7b54 0x0 0x0)
> > 0x324d7968 : 0x99d5bc (0x6be3000 0x324d7b54 0x3ace500 0x1)
> > 0x324d79d8 : 0x996f07 (0x6be3000 0x324d7b54 0xa6 0xb)
> > 0x324d7b88 : 0x972029 (0x6be3000 0x324d7c60 0x324d7bd8 0x12432a)
> > 0x324d7c88 : 0x43faec (0x6be3000 0x1 0x324d7cdc 0x324d7cd8)
> > 	Backtrace continues...
> >       Kernel loadable modules in backtrace (with dependencies):
> >          com.apple.ATIRadeonX1000(5.4.8)@0x968000->0x9c6fff
> >             dependency:  
> com.apple.iokit.IONDRVSupport(1.7.3)@0x917000
> >             dependency: com.apple.iokit.IOPCIFamily(2.6)@0x5ce000
> >             dependency:
> > com.apple.iokit.IOGraphicsFamily(1.7.3)@0x8fa000
> >
> > BSD process name corresponding to current thread: blender
> >
> > Mac OS version:
> > 9L30
> >
> > Kernel version:
> > Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009;
> > root:xnu-1228.15.4~1/RELEASE_I386
> > System model name: MacBookPro1,1 (Mac-F425BEC8
> >
> > Jasper
> >
> >
> > On Oct 13, 2009, at 2:00 PM, Damien Plisson wrote:
> >
> >> Hi Jasper,
> >>
> >> Currently only cmake is supported. Jens Verwiebe is updating the
> >> scons
> >> files, and ... a volunteer is needed for the nan make files...
> >> So you have to you cmake for now.
> >>
> >> Now some good news: there are no more known bugs/regressions over
> >> carbon on the 32bit cocoa version!
> >> I now concentrate on adding handling of new apple stuff like dual
> >> touch trackpad stuff...
> >> And the 64bit is on its way, thanks to Jens for building the 64bit
> >> libs.
> >>
> >> So you and any other testers are warmly welcome.
> >>
> >> Damien
> >>
> >>
> >> Le 13 oct. 2009 à 18:57, Jasper Mine a écrit :
> >>
> >>> Hello Mr. Plisson,
> >>>
> >>> I am getting a kernel panic after running the compile.
> >>>
> >>> I am on mac osx 10.5.8 intel using the nan make files.  Am I doing
> >>> it
> >>> wrong?  Do I run cmake to generate the make files or to generate  
> an
> >>> xcode project?
> >>>
> >>> Thank you.
> >>> Jasper
> >>>
> >>>
> >>> On Oct 12, 2009, at 12:51 PM, Damien Plisson wrote:
> >>>
> >>>> Revision: 23789
> >>>>       http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=23789
> >>>> Author:   damien78
> >>>> Date:     2009-10-12 18:51:36 +0200 (Mon, 12 Oct 2009)
> >>>>
> >>>> Log Message:
> >>>> -----------
> >>>> Cocoa : fix secondary window display bug issue
> >>>>
> >>>> Modified Paths:
> >>>> --------------
> >>>> trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h
> >>>> trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
> >>>>
> >>>> Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h
> >>>>  
> ===================================================================
> >>>> --- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h	
> >>>> 2009-10-12
> >>>> 16:34:55 UTC (rev 23788)
> >>>> +++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.h	
> >>>> 2009-10-12
> >>>> 16:51:36 UTC (rev 23789)
> >>>> @@ -275,6 +275,9 @@
> >>>> 	/** The mother SystemCocoa class to send events */
> >>>> 	GHOST_SystemCocoa *m_systemCocoa;
> >>>> 			
> >>>> +	/** The first created OpenGL context (for sharing display  
> lists)
> >>>> */
> >>>> +	static NSOpenGLContext *s_firstOpenGLcontext;
> >>>> +	
> >>>> 	NSCursor*	m_customCursor;
> >>>>
> >>>> 	GHOST_TabletData m_tablet;
> >>>>
> >>>> Modified: trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm
> >>>>  
> ===================================================================
> >>>> --- trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	
> >>>> 2009-10-12 16:34:55 UTC (rev 23788)
> >>>> +++ trunk/blender/intern/ghost/intern/GHOST_WindowCocoa.mm	
> >>>> 2009-10-12 16:51:36 UTC (rev 23789)
> >>>> @@ -149,6 +149,8 @@
> >>>>
> >>>> #pragma mark initialization / finalization
> >>>>
> >>>> +NSOpenGLContext* GHOST_WindowCocoa::s_firstOpenGLcontext = nil;
> >>>> +
> >>>> GHOST_WindowCocoa::GHOST_WindowCocoa(
> >>>> 	GHOST_SystemCocoa *systemCocoa,
> >>>> 	const STR_String& title,
> >>>> @@ -197,7 +199,7 @@
> >>>> 	
> >>>> 	[pixelFormat release];
> >>>> 	
> >>>> -	m_openGLContext = [m_openGLView openGLContext];
> >>>> +	m_openGLContext = [m_openGLView openGLContext]; //This context
> >>>> will be replaced by the proper one just after
> >>>> 	
> >>>> 	[m_window setContentView:m_openGLView];
> >>>> 	[m_window setInitialFirstResponder:m_openGLView];
> >>>> @@ -229,9 +231,6 @@
> >>>> {
> >>>> 	if (m_customCursor) delete m_customCursor;
> >>>>
> >>>> -	/*if(ugly_hack==m_windowRef) ugly_hack= NULL;
> >>>> -	
> >>>> -	if(ugly_hack==NULL)
> >>>> setDrawingContextType(GHOST_kDrawingContextTypeNone);*/
> >>>>  NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> >>>> 	[m_openGLView release];
> >>>> 	
> >>>> @@ -670,12 +669,15 @@
> >>>> 		case GHOST_kDrawingContextTypeOpenGL:
> >>>> 			if (!getValid()) break;
> >>>>          				
> >>>> -				pixelFormat = [m_openGLView pixelFormat];
> >>>> -				tmpOpenGLContext = [[NSOpenGLContext alloc]
> >>>> initWithFormat:pixelFormat
> >>>> -															  shareContext:m_openGLContext];
> >>>> -				if (tmpOpenGLContext == nil)
> >>>> -					success = GHOST_kFailure;
> >>>> -					break;
> >>>> +			pixelFormat = [m_openGLView pixelFormat];
> >>>> +			tmpOpenGLContext = [[NSOpenGLContext alloc]
> >>>> initWithFormat:pixelFormat
> >>>> +															  shareContext:s_firstOpenGLcontext];
> >>>> +			if (tmpOpenGLContext == nil) {
> >>>> +				success = GHOST_kFailure;
> >>>> +				break;
> >>>> +			}
> >>>> +			
> >>>> +			if (!s_firstOpenGLcontext) s_firstOpenGLcontext =
> >>>> tmpOpenGLContext;
> >>>> #ifdef WAIT_FOR_VSYNC
> >>>> 				/* wait for vsync, to avoid tearing artifacts */
> >>>> 				[tmpOpenGLContext setValues:1
> >>>> forParameter:NSOpenGLCPSwapInterval];
> >>>> @@ -683,7 +685,6 @@
> >>>> 				[m_openGLView setOpenGLContext:tmpOpenGLContext];
> >>>> 				[tmpOpenGLContext setView:m_openGLView];
> >>>> 				
> >>>> -				[m_openGLContext release];
> >>>> 				m_openGLContext = tmpOpenGLContext;
> >>>> 			break;
> >>>> 		
> >>>> @@ -704,7 +705,12 @@
> >>>> 	NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
> >>>> 	switch (m_drawingContextType) {
> >>>> 		case GHOST_kDrawingContextTypeOpenGL:
> >>>> -			[m_openGLView clearGLContext];
> >>>> +			if (m_openGLContext)
> >>>> +			{
> >>>> +				[m_openGLView clearGLContext];
> >>>> +				if (s_firstOpenGLcontext == m_openGLContext)
> >>>> s_firstOpenGLcontext = nil;
> >>>> +				m_openGLContext = nil;
> >>>> +			}
> >>>> 			[pool drain];
> >>>> 			return GHOST_kSuccess;
> >>>> 		case GHOST_kDrawingContextTypeNone:
> >>>>
> >>>>
> >>>> _______________________________________________
> >>>> Bf-blender-cvs mailing list
> >>>> Bf-blender-cvs at blender.org
> >>>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
> >>>>
> >>>
> >>> _______________________________________________
> >>> Bf-committers mailing list
> >>> Bf-committers at blender.org
> >>> http://lists.blender.org/mailman/listinfo/bf-committers
> >>
> >> _______________________________________________
> >> Bf-committers mailing list
> >> Bf-committers at blender.org
> >> http://lists.blender.org/mailman/listinfo/bf-committers
> >>
> >
> > _______________________________________________
> > Bf-committers mailing list
> > Bf-committers at blender.org
> > http://lists.blender.org/mailman/listinfo/bf-committers



More information about the Bf-committers mailing list