Hi, Danek and Tsao:
Thanks very much for your suggestions.
The command ‘pkg uninstall-nv mypkg’ do not show some valuable information.
But truss and pstack logs are indicating it stuck when open an pipe file
‘/etc/vx/vold-request’. And looks this file is nothing with the package
‘mypkg’.
Not sure whether the pkg utility is trying to open this file.
More details are as below:
root@ ldom1:~# pkg uninstall -nv mypkg
Packages to remove: 1
Estimated space available: 12.81 GB
Estimated space to be consumed: 21.35 MB
Create boot environment: No
Create backup boot environment: No
Services to change: 1
Rebuild boot archive: No
Changed packages:
symantec
mypkg
3.2.60.8,5.11:20111208T163808Z -> None
Services:
restart_fmri:
svc:/system/manifest-import:default
root@ ldom1:~ # truss pkg uninstall mypkg
…
stat64("/etc/vx/ddlconfig.info", 0xFFBFCC78) = 0
uucopy(0xFFBFCCF0, 0xFFBFCC80, 16) = 0
utimensat(AT_FDCWD,
"/var/pkg/lost+found/etc/vx-20111227T002900Z/ddlconfig.info", 0xFFBFCC70, 0) = 0
chmod("/var/pkg/lost+found/etc/vx-20111227T002900Z/ddlconfig.info", 0644) = 0
lstat64("/etc/vx/.tpd_enclrs.info", 0xFFBFCEE8) = 0
stat64("/etc/vx/.tpd_enclrs.info", 0xFFBFCEE8) = 0
stat64("/var/pkg/lost+found/etc/vx-20111227T002900Z/.tpd_enclrs.info",
0xFFBFCC78) Err#2 ENOENT
stat64("/etc/vx/.tpd_enclrs.info", 0xFFBFC798) = 0
stat64("/var/pkg/lost+found/etc/vx-20111227T002900Z/.tpd_enclrs.info",
0xFFBFC798) Err#2 ENOENT
open64("/etc/vx/.tpd_enclrs.info", O_RDONLY) = 6
fstat64(6, 0xFFBFCA80) = 0
open64("/var/pkg/lost+found/etc/vx-20111227T002900Z/.tpd_enclrs.info",
O_WRONLY|O_CREAT|O_TRUNC, 0666) = 7
fstat64(7, 0xFFBFCA80) = 0
fstat64(6, 0xFFBFC878) = 0
fstat64(6, 0xFFBFC718) = 0
ioctl(6, TCGETA, 0xFFBFC804) Err#25 ENOTTY
read(6, 0x01E0355C, 131072) = 0
close(7) = 0
llseek(6, 0, SEEK_CUR) = 0
close(6) = 0
stat64("/etc/vx/.tpd_enclrs.info", 0xFFBFCC78) = 0
uucopy(0xFFBFCCF0, 0xFFBFCC80, 16) = 0
utimensat(AT_FDCWD,
"/var/pkg/lost+found/etc/vx-20111227T002900Z/.tpd_enclrs.info", 0xFFBFCC70, 0)
= 0
chmod("/var/pkg/lost+found/etc/vx-20111227T002900Z/.tpd_enclrs.info", 0644) = 0
lstat64("/etc/vx/vold_request", 0xFFBFCEE8) = 0
stat64("/etc/vx/vold_request", 0xFFBFCEE8) = 0
stat64("/var/pkg/lost+found/etc/vx-20111227T002900Z/vold_request", 0xFFBFCC78)
Err#2 ENOENT
stat64("/etc/vx/vold_request", 0xFFBFC798) = 0
stat64("/var/pkg/lost+found/etc/vx-20111227T002900Z/vold_request", 0xFFBFC798)
Err#2 ENOENT
open64("/etc/vx/vold_request", O_RDONLY) (sleeping...)
root@ ldom1:~ # ls -l /etc/vx/vold*
prw------- 1 root root 0 Dec 26 19:21 /etc/vx/vold_request
root@ ldom1:~ # pstack 25581
25581: /usr/bin/python2.6 /usr/bin/pkg uninstall mypkg
ff2ab840 openat64 (ffd19553, b43540, 0, 1b6)
ff27539c _endopen (b43540, 13581c8, ff351d5c, 1, ff34e1f4, ff351e6c) + ac
ff27da14 fopen64 (b43540, 13581c8, ff16e000, ff18f89c, 2189c, ff351d5c) + 1c
ff056738 open_the_file (a81f70, b43540, caeb4, 13581c8, ff16e000, 12b7400) + 118
ff059988 file_init (ff179dd0, 18c, 0, a81f70, ff16e000, ff142a5c) + 12c
ff09a364 type_call (ff05985c, 25d7378, 0, a81f70, 1, ff16e000) + 128
ff0372f0 PyObject_Call (0, 25d7378, 0, ff17a19c, 88, ff16e000) + 88
ff0eb554 call_function (25d7384, 2, 0, 4, 25d7378, 2) + 278
ff0e7c8c PyEval_EvalFrameExReal (1d82ce0, 0, 1d82e38, ff14f244, ff16e000,
30078) + 3a90
ff0e3f70 PyEval_EvalFrameEx (1d82ce0, 0, ff16e000, 1b709d0, 1d82cc0, 0) + 24
[ /usr/lib/python2.6/shutil.py:52 (copyfile) ]
ff0ec1ec call_function (7ebf08, 5d1030, 30078, 4, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (1d82b70, 0, 1d82cc0, ff14f244, ff16e000,
30078) + 3a90
ff0e3f70 PyEval_EvalFrameEx (1d82b70, 0, ff16e000, 1b709d0, 1d82b40, 0) + 24
[ /usr/lib/python2.6/shutil.py:99 (copy2) ]
ff0ec1ec call_function (5cf0b0, 5d1030, 30078, 2, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (1d829c0, 0, 1d82b40, ff14f244, ff16e000,
30078) + 3a90
ff0e3f70 PyEval_EvalFrameEx (1d829c0, 0, ff16e000, 7d1a98, 5cd660, 0) + 24
[ /usr/lib/python2.6/shutil.py:160 (copytree) ]
ff0e96c8 PyEval_EvalCodeEx (5cf188, ff17e170, 1d829c0, 0, 30078, 0) + a94
ff0ec27c call_function (5cf188, 5d1030, befa4c, c, 10, 4) + fa0
ff0e7c8c PyEval_EvalFrameExReal (bef8f0, 0, befa4c, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (bef8f0, 0, ff16e000, 1c5e4a0, bef758, 0) + 24
[ /usr/lib/python2.6/shutil.py:261 (move) ]
ff0ec1ec call_function (5cf338, 5d1030, 30078, 2, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (bef5f8, 0, bef758, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (bef5f8, 0, ff16e000, 12b7920, 5, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/client/image.py:3654 (salvage) ]
ff0e96c8 PyEval_EvalCodeEx (8074a0, ff1726fc, bef5f8, 0, 30078, 0) + a94
ff0ec27c call_function (8074a0, 434db0, bef5d4, 0, 8, 2) + fa0
ff0e7c8c PyEval_EvalFrameExReal (bef480, 0, bef5d4, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (bef480, 0, ff16e000, 12b7920, bef448, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py:489 (salvage) ]
ff0ec1ec call_function (862890, 8640c0, 30078, 2, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (bef2f0, 0, bef448, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (bef2f0, 0, ff16e000, ab4768, ccdd6c, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/actions/directory.py:189 (remove) ]
ff0ec1ec call_function (2e8c80, 2e26f0, 30078, 5a, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (ccdc18, 0, ccdd6c, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (ccdc18, 0, ff16e000, ff17e170, 1d852cc, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/client/pkgplan.py:457
(execute_removal) ]
ff0ec1ec call_function (862800, 8640c0, 30078, 3b8c, 1f000, 3) + f10
ff0e7c8c PyEval_EvalFrameExReal (1d85150, 0, 1d852cc, ff14f244, ff16e000,
30078) + 3a90
ff0e3f70 PyEval_EvalFrameEx (1d85150, 0, ff16e000, ad80b0, 2534510, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/client/imageplan.py:2935 (execute) ]
ff0ec1ec call_function (8fc0b0, 8cbf60, 30078, 3, 1f000, 1) + f10
ff0e7c8c PyEval_EvalFrameExReal (25343b0, 0, 2534510, ff14f244, ff16e000,
30078) + 3a90
ff0e3f70 PyEval_EvalFrameEx (25343b0, 0, ff16e000, ac5b30, bee430, 0) + 24
[ /usr/lib/python2.6/vendor-packages/pkg/client/api.py:2156 (execute_plan) ]
ff0ec1ec call_function (3ba380, 3a8ed0, 30078, b, 1f000, 1) + f10
ff0e7c8c PyEval_EvalFrameExReal (bee2c8, 0, bee430, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (bee2c8, 0, ff16e000, ac5b30, b40120, 0) + 24
[ /usr/bin/pkg:1269 (__api_execute_plan) ]
ff0ec1ec call_function (cfda0, 63390, 30078, 9, 1f000, 2) + f10
ff0e7c8c PyEval_EvalFrameExReal (b3ff80, 0, b40120, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (b3ff80, 0, ff16e000, abb8a0, 6, 0) + 24
[ /usr/bin/pkg:1583 (__api_op) ]
ff0e96c8 PyEval_EvalCodeEx (cff08, ff1726fc, b3ff80, 7d904, 30078, 0) + a94
ff0ec27c call_function (cff08, 63390, b3ea4c, c, 70, 1c) + fa0
ff0e7c8c PyEval_EvalFrameExReal (b3e858, 0, b3ea4c, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (b3e858, 0, ff16e000, 60bf0, 6d2a70, 0) + 24
[ /usr/bin/pkg:2279 (uninstall) ]
ff0e96c8 PyEval_EvalCodeEx (6af650, 4, b3e858, ff17e170, 30078, 0) + a94
ff062410 function_call (ac0df0, 31030, f, 1e, 0, 30078) + 150
ff0372f0 PyObject_Call (0, 31030, b7fdb0, ac0df0, 88, ff16e000) + 88
ff0ee440 ext_do_call (ac0df0, 5, 0, ff17b270, ffffffff, 31030) + c38
ff0e7da4 PyEval_EvalFrameExReal (3036e0, 0, 303890, ff14f244, ff16e000, 30078)
+ 3ba8
ff0e3f70 PyEval_EvalFrameEx (3036e0, 0, ff16e000, 0, fffffffd, 0) + 24
[ /usr/bin/pkg:5939 (main_func) ]
ff0e96c8 PyEval_EvalCodeEx (6b7380, 63390, 3036e0, 3103c, 30078, 0) + a94
ff062410 function_call (ac1d70, 31030, 0, 0, 0, 30078) + 150
ff0372f0 PyObject_Call (0, 31030, 434c90, ac1d70, 88, ff16e000) + 88
ff0ee440 ext_do_call (ac1d70, ffbff418, 37c76c, ff17b270, 0, 31030) + c38
ff0e7da4 PyEval_EvalFrameExReal (37c608, 0, 37c774, ff14f244, ff16e000, 30078)
+ 3ba8
ff0e3f70 PyEval_EvalFrameEx (37c608, 0, ff16e000, abe480, 1, 0) + 24
[ /usr/bin/pkg:5956 (handle_errors) ]
ff0e96c8 PyEval_EvalCodeEx (6b7410, abe490, 37c608, 10, 30078, 1) + a94
ff0ec27c call_function (6b7410, 63390, 4e6b94, c, 4, 1) + fa0
ff0e7c8c PyEval_EvalFrameExReal (4e6a50, 0, 4e6b94, ff14f244, ff16e000, 30078)
+ 3a90
ff0e3f70 PyEval_EvalFrameEx (4e6a50, 0, ff16e000, 0, fffffffd, 0) + 24
[ /usr/bin/pkg:6092 (<module>) ]
ff0e96c8 PyEval_EvalCodeEx (6b7458, 63390, 4e6a50, 0, 30078, 0) + a94
ff0e3d3c PyEval_EvalCode (6b7458, 63390, 63390, 72b98, 6b7458, ff16e000) + 24
ff111bb8 run_mod (7f3738, ffbffc63, 63390, 63390, 6b7458, 0) + 34
ff111b68 PyRun_FileExFlags (ff351d4c, ffbffc63, 101, 63390, 63390, 1) + 84
ff110a8c PyRun_SimpleFileExFlags (ff351d4c, ffbffc63, 1, ffbffa94, ffbffc6b, 1)
+ 1cc
ff1210b8 Py_Main (8000, ffbffb74, 81ed, ffffffff, ff351d4c, 1) + b08
00010af0 main (4, ffbffb74, ffbffb88, 22000, 0, ffbffb00) + 40
00010a98 _start (0, 0, 0, 0, 0, 0) + 108
Thanks a lots.
Ervin.
-----Original Message-----
From: Danek Duvall [mailto:[email protected]]
Sent: 2011年12月27日 0:00
To: Ervin Yan
Cc: [email protected]
Subject: Re: [pkg-discuss] 'pkg uninstall' hang on Solaris 11 GA
Ervin Yan wrote:
> Recently, I met one issue that 'pkg uninstall mypkg' hang there.
>
> How can I debug and identify whether anything wrong in the package side,
> or in IPS system side?
You can pstack or truss the process, see what it's doing. If it's actually
hung, that'll tell you most of what you can know; if it's just busy without
giving any output, truss might be overwhelming, and you'd have to run
pstack multiple times to see what's going on, but they both might still be
instructive.
Danek
_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss