Incompatible marshal file format on random nodes


#1

I was wondering if anyone has gotten the following error before and what
could be causing it:
ERROR: template[/etc/openldap/ldap.conf]
(/srv/chef/cache/cookbooks/openldap/recipes/client.rb:54:in `from_file’)
had an er
ror: incompatible marshal file format (can’t be read)

This is only occurring on two nodes at the moment. I have checked the node
data to look for corruption, weird characters, etc, but nothing stands out.
Other nodes with the same roles/recipes work fine. This is on Chef
0.9.18/Centos 5.8. Any info people have is appreciated.

Thanks,
Mark


#2

On Thursday, April 12, 2012 at 9:13 AM, Mark Rechler wrote:

I was wondering if anyone has gotten the following error before and what could be causing it:
ERROR: template[/etc/openldap/ldap.conf] (/srv/chef/cache/cookbooks/openldap/recipes/client.rb:54:in `from_file’) had an er
ror: incompatible marshal file format (can’t be read)

This is only occurring on two nodes at the moment. I have checked the node data to look for corruption, weird characters, etc, but nothing stands out. Other nodes with the same roles/recipes work fine. This is on Chef 0.9.18/Centos 5.8. Any info people have is appreciated.

Thanks,
Mark

This is caused by a bug in the library we use to cache the SHA-256 sums for files. I wasn’t able to find the root cause, so I implemented a workaround where the cache file gets deleted if we get this error when reading it. Looks like the fix was never ported to the 0.9 branch, and to be honest, it probably won’t be at this point.

If you can’t upgrade, you can fix the error by deleting everything in the checksum cache, which by default is /var/chef/cache/checksums


Dan DeLeo


#3

That did the trick. Thanks!

On Thu, Apr 12, 2012 at 2:04 PM, Daniel DeLeo dan@kallistec.com wrote:

On Thursday, April 12, 2012 at 9:13 AM, Mark Rechler wrote:

I was wondering if anyone has gotten the following error before and what
could be causing it:
ERROR: template[/etc/openldap/ldap.conf]
(/srv/chef/cache/cookbooks/openldap/recipes/client.rb:54:in `from_file’)
had an er
ror: incompatible marshal file format (can’t be read)

This is only occurring on two nodes at the moment. I have checked the
node data to look for corruption, weird characters, etc, but nothing stands
out. Other nodes with the same roles/recipes work fine. This is on Chef
0.9.18/Centos 5.8. Any info people have is appreciated.

Thanks,
Mark

This is caused by a bug in the library we use to cache the SHA-256 sums
for files. I wasn’t able to find the root cause, so I implemented a
workaround where the cache file gets deleted if we get this error when
reading it. Looks like the fix was never ported to the 0.9 branch, and to
be honest, it probably won’t be at this point.

If you can’t upgrade, you can fix the error by deleting everything in the
checksum cache, which by default is /var/chef/cache/checksums


Dan DeLeo