Jump to content

Kernel Panic after 24hrs every time


dogbait
 Share

41 posts in this topic

Recommended Posts

After 24 to 48 hours I get a kernel panic with the machine requiring a hard reset. This occurs on both my MSI Wind and my Gigabyte based system. The last event I see in the console is nearly always:

 

zalloc did gc

 

I've googled this problem, but it seems like no one's heard of zalloc, let alone this issue.

Link to comment
Share on other sites

Wow, I just got hit by this error too, I googled for kernel zalloc did gc and this thread turned up on google (the only one).

 

I'm using 10.5.6, just updated to it, and I'm using iATKOS 5i, with some modifications to audio kexts..

 

Here's the exact error:

12/17/08 12:57:33 AM kernel zalloc did gc

Link to comment
Share on other sites

I have a GA-EP35-DS3 but after 10.5.6, removing VMware Fusion and the GenericCPUPowerManagement.kext things seem to be stable. Will post back once I'm sure of the cause.

 

Replying to my own post :rolleyes:

 

Got this problem resolved after disabling PME and wake-on-ring in the BIOS.

Link to comment
Share on other sites

zalloc is kernel zone memory allocation. gc means garbage collection. if it fails to allocate memory it tries a garbage collection to free memory, if it still fails the kernel will panic. something is allocating more meory than the kernel can get. most likely a memory leak in the kernel or kernel extension.

Link to comment
Share on other sites

Thanks for the clear explanation Superhai. I wonder why changing the power settings in the BIOS have stopped the problem. I'd be curious to determine the cause of the problem since whatever's responsible for the kernel panic isn't being loaded or invoked since I changed the BIOS setting.

Link to comment
Share on other sites

  • 2 weeks later...

Yeah, changing the bios did not help, I'm still getting kernel panics related to zalloc... and also NVDAResman. So I'm assuming it has something to do with my graphics card. Before this update, I used Natit, and now I'm using efi strings. So perhaps something is wrong there.

 

Also, the same thing is happening with my Dell D630 laptop. I've turned off sleep mode and putting the monitor to sleep, and each time I end up with a kernel panic dealing with zalloc.

Link to comment
Share on other sites

Same kernel panic here :(

 

10.5.6 vanilla, modified DSDT, EFI strings for ATI 3870, modified/added JMicronATA, AppleHDA, ACPIPS2Nub, ApplePS2Controller, R1000, AppleAHCIPort, SMBIOSEFI, VoodooPower kexts

Gigabyte GA-G33M-DS2R, E8200, 2Gb RAM.

 

BIOS settings have no effect.

 

Any ideas how to backtrace?

Link to comment
Share on other sites

Any ideas how to backtrace?

 

I've removed my gfx efi strings, and am trying my old Natit again. So far so good, but it takes time for it to crash.

 

The next thing I'm going to do, if this doesn't work, is to remove the dsdt.aml file from the root of my installation. That should remove the dsdt patch... From there, I may have to replace some kexts and such, but I'm not sure. I'll try it little by little. If anyone has any suggestions on how to remove the dsdt patch, they are appreciated!

Link to comment
Share on other sites

I tried using my original Natit with whichever gfx kexts were there, and my computer still crashes with zalloc. At this point, I'm thinking it has something to do with dsdt. My laptop has also been zalloc'ing, and the only thing that's simliar is that I did a dsdt patch using DSDT Patcher on both.

 

I'm using chameleon / pc efi9.

 

Can I just remove the dsdt.aml file to stop that from injecting?

Link to comment
Share on other sites

I suspect your suspicion is correct :rolleyes: it's got something to do with the video. I'm on EFI v9, looks like it may have a bug. I'll try to replace EFI strings with Natit and see what happens.

 

I suspect the same thing. Because I had once one like it when I was using hackintosh.

Link to comment
Share on other sites

I also get the same error.

One of these is the bad guy but which?

   17   16 0x1b195000 0x10000	0xf000	 com.apple.iokit.IOPCIFamily (2.5)
  18   10 0x1b1ab000 0x4000	 0x3000	 com.apple.iokit.IOACPIFamily (1.2.0)
  19	3 0x1b1fa000 0x3e000	0x3d000	com.apple.driver.AppleACPIPlatform (1.2.4) <18 17>
  20	0 0x1b242000 0x2000	 0x1000	 com.psystar.driver.OpenHaltRestart (1.0.3)
  21	0 0x1b26d000 0x2000	 0x1000	 net.osrom.kext.IntelCPUPMDisabler (1.0.0)
  22	0 0x1b29b000 0x5000	 0x4000	 com.apple.BootCache (30.3)
  23	5 0x1b362000 0x39000	0x38000	com.apple.iokit.IOHIDFamily (1.5.3)
  24	0 0x1b3a7000 0x3000	 0x2000	 com.apple.driver.pcilib (3.0.0)
  25	0 0x1b3b0000 0x2000	 0x1000	 com.apple.dsmos (1.0.0d1)
  26	0 0x1b3b5000 0x3000	 0x2000	 net.osrom.kext.SMBIOSEnabler (1.0.0)
  27	0 0x1b3f0000 0x3000	 0x2000	 com.apple.security.TMSafetyNet (3)
  28	0 0x1c40a000 0x8000	 0x7000	 com.apple.nke.applicationfirewall (1.0.77)
  29	0 0x1c44a000 0x18000	0x17000	com.apple.security.seatbelt (107.10)
  30	0 0x20e4f000 0x3000	 0x2000	 com.apple.driver.AppleAPIC (1.4)
  31	0 0x20e6a000 0x8000	 0x7000	 com.apple.driver.AppleSMBIOS (1.0.14)
  32	0 0x20fe8000 0x4000	 0x3000	 com.apple.driver.AppleACPIButtons (1.2.4) <23 19 18>
  33	0 0x2108d000 0x3000	 0x2000	 com.apple.driver.AppleACPIPCI (1.2.4) <19 18 17>
  34	0 0x210d4000 0x5000	 0x4000	 com.apple.driver.AppleRTC (1.2.3) <18>
  35	1 0x2113c000 0x3000	 0x2000	 com.apple.iokit.IOSMBusFamily (1.1)
  36	0 0x211da000 0x5000	 0x4000	 com.apple.driver.AppleACPIEC (1.2.4) <35 19 18>
  37	5 0x21295000 0x29000	0x28000	com.apple.iokit.IOUSBFamily (3.2.7)
  38	0 0x212ef000 0xe000	 0xd000	 com.apple.driver.AppleUSBUHCI (3.2.5) <37 17>
  39	0 0x21396000 0x12000	0x11000	com.apple.driver.AppleUSBEHCI (3.2.5) <37 17>
  40	2 0x2159d000 0x3f000	0x3e000	com.apple.iokit.IOFireWireFamily (3.4.6)
  41	0 0x21612000 0x22000	0x21000	com.apple.driver.AppleFWOHCI (3.7.2) <40 17>
  43	3 0x2174a000 0xd000	 0xc000	 com.apple.iokit.IOATAFamily (2.0.0)
  44	0 0x21768000 0x9000	 0x8000	 com.apple.driver.AppleIntelPIIXATA (2.0.0) <43 17>
  45	0 0x21780000 0x2000	 0x1000	 com.apple.driver.AppleACPIPS2Nub (1.0.0d1) <18>
  46	0 0x217d5000 0x2000	 0x1000	 com.apple.iokit.IOUSBUserClient (3.2.4) <37>
  47	9 0x2183b000 0x18000	0x17000	com.apple.iokit.IOStorageFamily (1.5.5)
  50	2 0x21a55000 0x5000	 0x4000	 com.apple.driver.ApplePS2Controller (2.0.0)
  51	0 0x21ac1000 0xc000	 0xb000	 com.apple.driver.AppleUSBHub (3.2.7) <37>
  52	4 0x21b7a000 0x19000	0x18000	com.apple.iokit.IOSCSIArchitectureModelFamily (2.0.5)
  53	0 0x21aeb000 0x4000	 0x3000	 com.apple.iokit.IOATAPIProtocolTransport (1.5.2) <52 43>
  54	0 0x21d92000 0x3000	 0x2000	 com.apple.driver.ApplePS2Keyboard (1.1.0) <50 23>
  55	0 0x21d4d000 0x6000	 0x5000	 com.apple.iokit.SCSITaskUserClient (2.0.5) <52 47>
  56	3 0x21e63000 0x8000	 0x7000	 com.apple.iokit.IOCDStorageFamily (1.5) <47>
  57	2 0x21ea3000 0x6000	 0x5000	 com.apple.iokit.IODVDStorageFamily (1.5) <56 47>
  58	1 0x21ecc000 0x16000	0x15000	com.apple.iokit.IOSCSIBlockCommandsDevice (2.0.5) <52 47>
  59	1 0x21ef0000 0x5000	 0x4000	 com.apple.iokit.IOBDStorageFamily (1.5) <57 56 47>
  60	0 0x21f1d000 0x16000	0x15000	com.apple.iokit.IOSCSIMultimediaCommandsDevice (2.0.5) <59 58 57 56 52 47>
  61	0 0x21fb0000 0xe000	 0xd000	 com.apple.iokit.IOATABlockStorage (2.0.5) <47 43>
  62	0 0x2201e000 0x5000	 0x4000	 com.apple.driver.XsanFilter (2.7.91) <47>
  63	4 0x1b2a0000 0x1d000	0x1c000	com.apple.iokit.IOGraphicsFamily (1.7.1) <17>
  64	2 0x1b2bd000 0xe000	 0xd000	 com.apple.iokit.IONDRVSupport (1.7.1) <63 17>
  65	2 0x2d930000 0x25d000   0x25c000   com.apple.NVDAResman (5.3.8) <64 63 17>
  66	0 0x2db8d000 0x1cb000   0x1ca000   com.apple.nvidia.nv40hal (5.3.8) <65>
  67	0 0x1b2cf000 0x4000	 0x3000	 com.apple.driver.ApplePS2Trackpad (1.1.0) <50 23>
  68	0 0x1b155000 0x3000	 0x2000	 com.apple.driver.AppleLPC (1.2.11) <17>
  69	2 0x1b2d3000 0x9000	 0x8000	 com.apple.driver.AppleSMC (2.2.0d4) <18>
  70	1 0x1b2dc000 0xe000	 0xd000	 com.apple.driver.IOPlatformPluginFamily (3.3.1d0)
  71	0 0x1b2ea000 0xf000	 0xe000	 com.apple.driver.ACPI_SMC_PlatformPlugin (3.3.1d0) <70 69 18 17>
  72	1 0x1b2f9000 0x3000	 0x2000	 com.apple.kext.OSvKernDSPLib (1.1)
  73	2 0x1c412000 0x17000	0x16000	com.apple.iokit.IOAudioFamily (1.6.5fc3) <72>
  74	0 0x1b2fc000 0x4000	 0x3000	 com.apple.driver.AudioIPCDriver (1.0.5) <73>
  75	4 0x211e5000 0x16000	0x15000	com.apple.iokit.IONetworkingFamily (1.6.1)
  76	0 0x1b300000 0x9000	 0x8000	 com.apple.iokit.IOFireWireIP (1.7.6) <75 40>
  77	2 0x1b309000 0x5000	 0x4000	 com.apple.iokit.IOHDAudioFamily (1.0.0d1)
  78	0 0x1b39b000 0x6000	 0x5000	 com.apple.driver.AppleAzaliaController (1.0.0d1) <77 17>
  79	1 0x211fb000 0x1f000	0x1e000	com.apple.iokit.IO80211Family (214.1) <75>
  80	0 0x213c1000 0x91000	0x90000	com.apple.driver.AirPort.Atheros (316.48.0) <79 75 17>
  81	0 0x219bc000 0x40000	0x3f000	com.apple.iokit.AppleYukon2 (3.1.10b2) <75 17>
  83	0 0x20e53000 0xf000	 0xe000	 com.orderedbytes.driver.ControllerMateFamily (4.3.7) <23>
  87	0 0x21d95000 0x98000	0x97000	com.apple.GeForce (5.3.6) <65 64 63 17>
  88	0 0x1b3b8000 0x3000	 0x2000	 com.apple.Dont_Steal_Mac_OS_X (6.0.3) <69>
  90	0 0x21090000 0xb000	 0xa000	 com.superhai.driver.GenericCPUPowerManagement (1.1.4) <18>
  92	0 0x2122a000 0xc000	 0xb000	 com.apple.driver.AppleAzaliaAudio (1.0.0d1) <77 73>
  93	0 0x21452000 0x10000	0xf000	 com.apple.driver.DiskImages (195.2.2) <47>
  94	0 0x21251000 0x4000	 0x3000	 com.apple.driver.AppleUpstreamUserClient (2.7.2) <63 18 17>
  95	0 0x2df1b000 0x64000	0x63000	com.vmware.kext.vmx86 (1.1.3)
  96	0 0x21b11000 0xa000	 0x9000	 com.vmware.kext.vmci (1.1.3)
  97	0 0x2180d000 0x6000	 0x5000	 com.vmware.kext.vmioplug (1.1.3) <37 23>
  98	0 0x21bd5000 0x8000	 0x7000	 com.vmware.kext.vmnet (1.1.3)
  99	0 0x21f35000 0xb000	 0xa000	 com.apple.filesystems.autofs (2.0.1)

Link to comment
Share on other sites

I HIGHLY doubt this is because of graphics. I have a Dell D630 laptop with the intel x3100, and it also panics in this same manner, just like my desktop. The only things in common between these two machines: dsdt patch, pc_efi9 / chameleon, and 10.5.6. Since I installed chameleon/v9 just before upgrading to 10.5.6, I cannot confirm if this is coming from 10.5.6 or EFI.

 

Right now, I'm considering nuking my machine and starting over. Crashing seemingly at random is completely unacceptable, especially on a system that before was literally rock solid (I'm talking weeks of uptime).

Link to comment
Share on other sites

If it's not video then... power management maybe?

 

Any of you guys using VoodooPower or GenericCPUPowerManagement? I was on VoodooPower, now switched to the original AppleIntelCPUPowerManagement. My E8200 is running 10 degrees hotter as reported by the on-die sensor in the result and some other interesting stuff popped up but i'm still gonna run it to see if that damn zalloc error went away.

Link to comment
Share on other sites

After a few weeks trial and error I narrowed it down to the onboard Realtek RTL8111 controller. I was using the RealtekR1000 driver which is supposed to fix the Bonjour issue with the default Apple driver for this network controller. Removing the driver and rebooting made the system more stable but since Bonjour is practically a necessity in OS X I disabled the network controller in the BIOS and installed a 3Com 3C905 PCI network card. The system's been running for a week 24/7 without problems.

 

Just ordered a Netgear GA311 network card as well (I want gigabit which the 3Com doesn't support). Will report on whether that works reliably. But to sum up for those who skip to the end - disable the onboard NIC and use Apple's USB one or a supported PCI one.

Link to comment
Share on other sites

Wouldn't the kernel panic say something about ethernet, or IOKit or PCI or SOMETHING, other than WindowServer, if it were the ethernet controller? And how does this explain my D630, which has a Broadcom Ethernet?

 

I guess I'll try the PowerManagement... but on a laptop, that's kind of necessary for battery life.

Link to comment
Share on other sites

I'm almost certain it's power management. Here we have 3 options: it can be a bug in EFI v9, in patched DSDT or PowerManagement kexts. I'll try to run VoodooPower first without DSDT patch and then on older Chameleon which supports external patched DSDT. I'll report back on my results :wacko:

Link to comment
Share on other sites

The problem is GenericCPUPowerManagement.kext, i have try for 2 week, with some test, and my computer crash after 12h, but now my computer are 4 days and 10:27 hour of continuation. I have GA-EP35-DS3R

You must delete GenericCPUPowerManagement.kext from Extensions Folder.

Link to comment
Share on other sites

The problem is GenericCPUPowerManagement.kext, i have try for 2 week, with some test, and my computer crash after 12h, but now my computer are 4 days and 10:27 hour of continuation. I have GA-EP35-DS3R

You must delete GenericCPUPowerManagement.kext from Extensions Folder.

 

This did not resolve the issue on my MSI Wind PC. I deleted the file last night after reading this post and experienced a panic due to "zalloc did gc" this morning.

Link to comment
Share on other sites

Same error here too..

 

kernel[0]: zalloc did gc

Haven't figured out what it causes. I have Windows also installed on another hard disk..

After this crash Windows starts always to check disks. Might be some disks access related issue?

 

I think Darwin source might be helpful here..

I found Darwin source here: kern/zalloc.c I attached this file here also: zalloc.c.zip

 

Its part of zalloc_canblock method.

if (retry == 2) {
zone_gc();
printf("zalloc did gc\n");
}

 

About method zone_gc

/* Zone garbage collection
*
* zone_gc will walk through all the free elements in all the
* zones that are marked collectable looking for reclaimable
* pages. zone_gc is called by consider_zone_gc when the system
* begins to run out of memory.
*/
void
zone_gc(void)

So, its happens when the system begins to run out of memory..

I will continue investigation...

Link to comment
Share on other sites

I found something related:

  • Subject: Re: Q: Darwin panicing too soon?
  • From: Jim Magee <email@hidden>
  • Date: Wed, 6 Aug 2003 10:12:35 -0400

On Wednesday, August 6, 2003, at 7:04 AM, Jonas Maebe wrote:

On woensdag, aug 6, 2003, at 12:50 Europe/Brussels, Stiphane Sudre wrote:

 

} else if (retval != KERN_RESOURCE_SHORTAGE) {

/* would like to cause a zone_gc() */

 

(1) panic("zalloc");

}

----

 

Q: Instead of panicing at (1), couldn't it just be possible to return NULL?

 

KERN_RESOURCE_SHORTAGE is described as:

 

/* A system resource could not be allocated to fulfill

* this request. This failure may not be permanent.

*/

 

The issue is that once you "Kernel Panic"ed, it's 'permanent' till the next reboot.

Note that it panics if retval is *different* from KERN_RESOURCE_SHORTAGE". So in case of KERN_RESOURCE_SHORTAGE, whatever comes below will be executed.

Correct. The issue is that most kernel code expects zalloc() to wait until memory is available. They only expect a NULL return in the cases that they specified that they are unwilling to block for memory allocation. However, one of the "different from KERN_RESOURCE_SHORTAGE" errors actually occurs as a result of the kernel's virtual address space being exhausted (rather than just being short of free page frames at the moment). It is extremely unlikely that this "exhausted virtual memory space" situation will rectify itself by having the current thread wait. So we panic.

 

This is somewhat analogous to malloc(). It will normally wait for memory to become available (including waiting for the kernel to select and page out other application pages, etc...). But if the virtual address space of your application is completely exhausted, there's not much that can be done.

 

The good news is that the Darwin 10.7 (Panther) PowerPC[1] kernel supports a significantly larger kernel virtual address space. So the odds of hitting that panic go WAY down (most existing machines can't handle enough physical memory to trigger it). There are also additional hand and soft resource limits added to keep applications from inducing run-away kernel allocations.

 

--Jim

 

[1]. The i386 kernel still maps the kernel as part of each task, so it's kernel virtual space is still much smaller (and the application's available virtual space is also smaller). The PowerPC kernel has separate 4GB address spaces for the kernel vs. each application.

Link to comment
Share on other sites

So, we know that it's related to garbage collection, and that it tries to garbage collect things marked as collectable, but then panics because of some unknown reason.

 

I'm guessing that there's a memory leak somewhere... or that things aren't getting marked as collectable, and thus never get gc'ed. But I don't know anything about how any of this works...

 

I think people are making progress here! I am excited!

 

I have 6gb of ram. My laptop has 2gb. This is weird.

Link to comment
Share on other sites

 Share

×
×
  • Create New...