Mac Kernel Panick Fix

Well, I got the gray screen of death on the mac.

To solve I mucked around until I got the fix:

For Panic:


Tue Aug 5 22:08:01 2008
panic(cpu 1 caller 0x001694C6): "vm_map_unwire: entry is unwired"@/SourceCache/xnu/xnu-1228.5.20/osfmk/vm/vm_map.c:4110
Backtrace, Format - Frame : Return Address (4 potential args on stack)
0x2e5ebdf8 : 0x12b0fa (0x4592a4 0x2e5ebe2c 0x133243 0x0)
0x2e5ebe48 : 0x1694c6 (0x45c20c 0x36dcc000 0x0 0x2e5ebf0c)
0x2e5ebf28 : 0x61c328 (0x36ddc000 0x0 0x0 0x0)
0x2e5ebfc8 : 0x19ebdc (0x0 0x0 0x1a20b5 0x3d45c80)
Backtrace terminated-invalid frame pointer 0
Kernel loadable modules in backtrace (with dependencies):
com.apple.BootCache(30)@0x61a000->0x61efff

BSD process name corresponding to current thread: kernel_task

Mac OS version:
9E17

Kernel version:
Darwin Kernel Version 9.4.0: Mon Jun 9 19:30:53 PDT 2008; root:xnu-1228.5.20~1/RELEASE_I386
System model name: MacBookAir1,1 (Mac-F42C8CC8)


For this panic the essential piece of information is the the BootCache line and so here's the fix, rather easy... once you learn it.

Enjoy your Mac Back:



Mac OS X 10.3 only: If the issue only occurs once in a while (intermittently), do this after a successful startup:

From the Finder's Go menu, choose Go to Folder.
Type the following without quotes: "/System/Library/Extensions/".
Press Return.
In the Extensions window, locate the file named BootCache.kext.
Delete the BootCache.kext file. You may be prompted for an administrator password.

The next time you start up, the startup process could take a little longer than usual as the BootCache.kext file is recr
eated.

Read more...

Day 19 All day

Today I mucked around doing gvar, a singleton service for my system classes. Fun. But not quite what we're looking for to do. A game is not fun coding! Ah!

I also mucked around with boost::bind. Quite a nice feature. STL rulez bad!

Did a joint in Newton to connect hand and stick. Not quite there.

Read more...

Day 12-13

Changed from iPhysics into irrNewt, some problems, but I figured it out! Looking good.

I've imported a simple hand model in .3ds and besides looking stupid the hand doesn't lit up!

I've downloaded and tested XXX and i've checked that the normals don't show up. I have to learn another tool perhaps...

Read more...

Day 14

Today I bought an hand model from Gamasutra Exchange and I just dropped it in the engine! Beautiful! It was very easy to do it in Irrlicht, only the lights are a bit off, must investigate it.

Also, the stick dynamics are a lot better now, since I've upgraded to IrrNewt with success.

The problem now is how to fix the damn event receiver! Argg! Simple stuff that doesn't work on the Mac! Damn. I will fix this, i must, or else, no keyboard! No Game! :)

Read more...

Visibility warning solved

Ok, I was getting all those nasty visibility warnings on my compiles.

Irrlicht is not using the __attribute__ ((visibility("default"))) to make things public when we set the global -fvisibility=hidden but what we can do is compile on XCode Irrlicht with -fvisibility=default and -fvisibility=hidden and DO THE SAME ON OUR CODE THAT USES THE LIB

So, all I had to do is to add:

On my GCC flags.

-fvisibility-inlines-hidden

Done! Linking times are not great!

Some links about this:
http://gcc.gnu.org/wiki/Visibility
https://winter.eecs.umich.edu/soar-bugzilla/show_bug.cgi?id=694
http://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Code-Gen-Options.html#index-fvisibility-1636

Read more...

GCC and Visibility flag

-fvisibility=default|internal|hidden|protected
Set the default ELF image symbol visibility to the specified option—all symbols will be marked with this unless overridden within the code. Using this feature can very substantially improve linking and load times of shared object libraries, produce more optimized code, provide near-perfect API export and prevent symbol clashes. It is strongly recommended that you use this in any shared objects you distribute.
Despite the nomenclature, default always means public ie; available to be linked against from outside the shared object. protected and internal are pretty useless in real-world usage so the only other commonly used option will be hidden. The default if -fvisibility isn't specified is default, i.e., make every symbol public—this causes the same behavior as previous versions of GCC.

A good explanation of the benefits offered by ensuring ELF symbols have the correct visibility is given by “How To Write Shared Libraries” by Ulrich Drepper (which can be found at http://people.redhat.com/~drepper/)—however a superior solution made possible by this option to marking things hidden when the default is public is to make the default hidden and mark things public. This is the norm with DLL's on Windows and with -fvisibility=hidden and __attribute__ ((visibility("default"))) instead of __declspec(dllexport) you get almost identical semantics with identical syntax. This is a great boon to those working with cross-platform projects.

Read more...

Day 8

Today I spent the afternoon at work browsing model formats, MD2, MD3, OBJ, 3DS, there's a ton of them and for the most part nobody has a clue what's the better one. One is for sure, MD2's suck a bit but they have built in animation with morphing which is a good thing. I remember quake 1 and their nice wobbling models. Hah... Quake 1! :)

I got some nice sites for free MD2 models.

http://www.md2.sitters-electronics.nl/index.html I LOVE THESE ONES! THE BEST!
http://www.psionic3d.co.uk/gallery/thumbnails.php?album=2
http://www.katsbits.com/htm/models.htm
http://polycount.com/renderinginprogress.html
http://tomtallian.com/

And last but not least, this gem:

http://www.gamasutraexchange.com

PERFECT! I didn't know this! I can buy them if I want! Too bad most of them are MAX. I just need to see what I can do with the bones and all that. Do I need to create my own format? Golly! I could do it but it would take time.

Anyway, some nice finds and people talks about model formats.

At night, I downloaded an hand model to test and tried it to collide with newton physics.

Read more...

About This Blog

  © Blogger template Shush by Ourblogtemplates.com 2009

Back to TOP