[OpenIndiana-discuss] image-update causes pkg to crash with "File exists" error for a man page
gary at genashor.com
Wed Jan 12 11:56:44 UTC 2011
Ok! I got around this problem by hacking the pkg code (legacy.py) to
recover from this problem. What happens is that it crashes when it
tries to create a hard link and the file already exists. So I trapped
this exception, removed the file and did the hard link.
Now I've got a oi_148 installation. However, it seems to have some issues.
1) Both cpus are being pounded continuously. mpstat shows > 90% on one
and > 80% on the other used by "sys". ps doesn't show any process using
more than 0.5% total cpu!
2) Something changed with libusb. I can't get apcupsd running because
it crashes in this library in a strchr() call when initializing the usb
connection. It shows a SIGSEGV permission problem.
I had to go back to 134b because I can't find who is using the cpus.
On 1/11/11 9:39 AM, Gary Gendel wrote:
> I've been struggling to update from snv_134b to OpenIndiana, but both
> 147 and 148 fail when trying to install SUNWxwpnm, the X-Window man
> The crash comes because a file already exists. I don't know what file
> so I don't know how to get around it. Any ideas?
> The Boot Environment oi_147 failed to be updated. A snapshot was taken
> before the failed attempt and has been restored so no changes have
> been made to oi_147.
> pkg: An unexpected error happened during install: [Errno 17] File exists
> Traceback (most recent call last):
> File "/usr/bin/pkg", line 3796, in handle_errors
> __ret = func(*args, **kwargs)
> File "/usr/bin/pkg", line 3773, in main_func
> return func(img, pargs)
> File "/usr/bin/pkg", line 1303, in install
> File "/usr/bin/pkg", line 865, in __api_execute_plan
> File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line
> 674, in execute_plan
> File "/usr/lib/python2.6/vendor-packages/pkg/client/imageplan.py",
> line 1084, in execute
> p.execute_install(src, dest)
> File "/usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py",
> line 301, in execute_install
> dest.install(self, src)
> File "/usr/lib/python2.6/vendor-packages/pkg/actions/legacy.py",
> line 107, in install
> os.link(pkginfo, linkfile)
> OSError: [Errno 17] File exists
> I've filed a pkg bug because this situation shouldn't cause a crash,
> but I don't see how do get past this without manually blowing away the
> man pages before upgrading.
More information about the OpenIndiana-discuss