Project

General

Profile

Bug #4258

Pkg fails updating in Hipster, when /opt (without onbld) is mounted on separate dataset

Added by Nikola M. almost 7 years ago. Updated over 6 years ago.

Status:
Closed
Priority:
Normal
Assignee:
Category:
PKG (Image Packaging System)
Target version:
-
Start date:
2013-10-22
Due date:
2013-12-10
% Done:

100%

Estimated time:
2.00 h
Difficulty:
Medium
Tags:
pkg

Description

OI Hipster fails to update on pkg error. (from 7de6f2c to 2013-10-22 09:35)
Seems like it wants to use /opt for something
and I mounted /opt to separate zfs dataset and it previously failed to mount /opt and launch GUI login, untill /opt was deleted and dataset mounted to /opt.
So on every update it fails to recognize mounted /opt , make new one and create /opt/onbld and then fails to present GUI.
And now pkg fails to update (this is new).

Update Phase 937/4693Action upgrade failed for 'opt/onbld/bin/i386/protocmp' (pkg://openindiana.org/developer/build/onbld):
TypeError: 'NoneType' object is not callable
The running system has not been modified. Modifications were only made to a clone of the running system. This clone is mounted at /tmp/tmpesmIKM should you wish to inspect it.
pkg: An unexpected error happened during update: 'NoneType' object is not callable
Traceback (most recent call last):
File "/usr/bin/pkg", line 5975, in handle_errors
__ret = func(*args, **kwargs)
File "/usr/bin/pkg", line 5958, in main_func
pargs=pargs, **opts)
File "/usr/bin/pkg", line 2344, in update
reject_list=reject_pats, update_index=update_index)
File "/usr/bin/pkg", line 1604, in __api_op
ret_code = __api_execute_plan(_op, _api_inst)
File "/usr/bin/pkg", line 1290, in __api_execute_plan
api_inst.execute_plan()
File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line 2177, in execute_plan
self._img.imageplan.execute()
File "/usr/lib/python2.6/vendor-packages/pkg/client/imageplan.py", line 2984, in execute
p.execute_update(src, dest)
File "/usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py", line 462, in execute_update
dest.install(self, src)
File "/usr/lib/python2.6/vendor-packages/pkg/actions/file.py", line 214, in install
stream = self.data()
TypeError: 'NoneType' object is not callable

pkg: This is an internal error in pkg(5) version 1ff317412fe4+. Please log a
Service Request about this issue including the information above and this
message.

$ uname -a
SunOS oin 5.11 illumos-7de6f2c i86pc i386 i86pc Solaris


Files

HipsterPKGReport.txt (43.9 KB) HipsterPKGReport.txt Nikola M., 2013-10-22 08:33 AM

Related issues

Related to OpenIndiana Distribution - Bug #3874: Packagemanager core dumps with hipsterClosed2013-07-082013-12-10

Actions
Related to OpenIndiana Distribution - Bug #4138: Update fails if /opt is mounted from other diskClosed2013-09-162013-12-10

Actions

History

#1

Updated by Ken Mays almost 7 years ago

  • Assignee set to OI PKG
  • Estimated time set to 2.00 h
  • Tags changed from needs-triage to pkg
#2

Updated by David Mackay almost 7 years ago

I experienced the same issue. As a workaround, before updating I would rename /opt/onbld to /opt/onbld.tmp and then perform the update.

The update would install its files to /opt/onbld-- but not on the seperate /opt dataset, rather, on the ROOT boot-environment it created. Therefore I mounted the boot-environment the update created to /mnt, renamed /opt/onbld.tmp back to /opt/onbld, and done cp -r /mnt/opt/onbld /opt/, followed by rm -rf /tmp/opt/onbld so as to avoid mounting issues after rebooting into the new boot-environment.

#3

Updated by Predrag Zečević almost 7 years ago

Hi, and once more, but different package, here snip:

PHASE                                        ACTIONS                                                                                                                                                               
Removal Phase                                239/239                                                                                                                                                               
Install Phase                                126/126                                                                                                                                                               
Update Phase                                751/4045Action upgrade failed for 'opt/SUNWdtrt/tst/common/sdt/tst.sdtargs.exe' (pkg://openindiana.org/system/dtrace/tests):                                           
 TypeError: 'NoneType' object is not callable                                                                                                                                                                      
 The running system has not been modified. Modifications were only made to a clone of the running system.  This clone is mounted at /tmp/tmp3p51nv should you wish to inspect it.                                  
pkg: An unexpected error happened during update: 'NoneType' object is not callable                                                                                                                                 
Traceback (most recent call last):                                                                                                                                                                                 
  File "/usr/bin/pkg", line 5975, in handle_errors                                                                                                                                                                 
    __ret = func(*args, **kwargs)                                                                                                                                                                                  
  File "/usr/bin/pkg", line 5958, in main_func                                                                                                                                                                     
    pargs=pargs, **opts)                                                                                                                                                                                           
  File "/usr/bin/pkg", line 2344, in update                                                                                                                                                                        
    reject_list=reject_pats, update_index=update_index)                                                                                                                                                            
  File "/usr/bin/pkg", line 1604, in __api_op                                                                                                                                                                      
    ret_code = __api_execute_plan(_op, _api_inst)                                                                                                                                                                  
  File "/usr/bin/pkg", line 1290, in __api_execute_plan                                                                                                                                                            
    api_inst.execute_plan()                                                                                                                                                                                        
  File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line 2177, in execute_plan                                                                                                                          
    self._img.imageplan.execute()                                                                                                                                                                                  
  File "/usr/lib/python2.6/vendor-packages/pkg/client/imageplan.py", line 2984, in execute                                                                                                                         
    p.execute_update(src, dest)                                                                                                                                                                                    
  File "/usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py", line 462, in execute_update                                                                                                                     
    dest.install(self, src)                                                                                                                                                                                        
  File "/usr/lib/python2.6/vendor-packages/pkg/actions/file.py", line 214, in install                                                                                                                              
    stream = self.data()                                                                                                                                                                                           
TypeError: 'NoneType' object is not callable                                                                                                                                                                       

pkg: This is an internal error in pkg(5) version 1ff317412fe4+.  Please log a                                                                                                                                      
Service Request about this issue including the information above and this                                                                                                                                          
message.                                                                                                  

Removing dtrace/tests helped... OS

$ uname -vors
SunOS 5.11 illumos-bb411a0 Solaris

#4

Updated by Ken Mays almost 7 years ago

  • Due date set to 2013-12-10
  • Status changed from New to In Progress

Please update to newer pkg5 release in hipster and retest your issue.

#5

Updated by Ken Mays almost 7 years ago

  • Category changed from Release Engineering to PKG (Image Packaging System)
  • Status changed from In Progress to Closed
  • % Done changed from 0 to 100

Tested. Fixed in hipster 12-10-2013 ISO release.

#6

Updated by Predrag Zečević over 6 years ago

Happen again :-(

$ pfexec pkg refresh --full 
$ pfexec pkg update -v --be-name ${BENAME}
...
PHASE                                          ITEMS
Removing old actions                       1207/1207
Installing new actions                     1015/1015
Updating modified actions                  1273/6221Action upgrade failed for 'opt/DTT/Man/man1m/syscallbypid.d.1m' (pkg://openindiana.org/developer/dtrace/toolkit):
 TypeError: coercing to Unicode: need string or buffer, NoneType found
 The running system has not been modified. Modifications were only made to a clone of the running system.  This clone is mounted at /export/tmp/tmp5xPbPG should you wish to inspect it.
pkg: An unexpected error happened during update: coercing to Unicode: need string or buffer, NoneType found

Traceback (most recent call last):
  File "/usr/bin/pkg", line 6317, in handle_errors
    __ret = func(*args, **kwargs)
  File "/usr/bin/pkg", line 6303, in main_func
    pargs=pargs, **opts)
  File "/usr/bin/pkg", line 2138, in update
    reject_list=reject_pats, update_index=update_index)
  File "/usr/bin/pkg", line 1855, in __api_op
    ret_code = __api_execute_plan(_op, _api_inst)
  File "/usr/bin/pkg", line 1434, in __api_execute_plan
    api_inst.execute_plan()
  File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line 2636, in execute_plan
    self._img.imageplan.execute()
  File "/usr/lib/python2.6/vendor-packages/pkg/client/imageplan.py", line 3895, in execute
    p.execute_update(src, dest)
  File "/usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py", line 532, in execute_update
    dest.install(self, src)
  File "/usr/lib/python2.6/vendor-packages/pkg/actions/file.py", line 191, in install
    stream = self.data()
  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/transport.py", line 2445, in opener
    f = open(cache_path, "rb")
TypeError: coercing to Unicode: need string or buffer, NoneType found

pkg: This is an internal error in pkg(5) version 8d10208.  Please log a
Service Request about this issue including the information above and this
message.

Removed:

$ uname -vors
SunOS 5.11 illumos-8f6d9da Solaris

$ pfexec pkg uninstall -v developer/dtrace/toolkit

and update went fine...

:-(

Also available in: Atom PDF