[oi-dev] pkg: internal error

Andreas Stenius andreas.stenius at astekk.se
Wed May 9 08:44:51 UTC 2012


And again,

running pkg update, I had to patch the headerlist too... I cherry
picked what I could see from the workaround attached to
http://defect.opensolaris.org/bz/show_bug.cgi?id=12713

Here's my complete diff:

kaos at ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport$
diff engine.py.org engine.py
767a768,770
>                               headerstr = headerstr.encode(
>                                       "ascii",
>                                       "xmlcharrefreplace")
773a777,779
>                                       headerstr = headerstr.encode(
>                                               "ascii",
>                                               "xmlcharrefreplace")
779c785
<                 hdl.setopt(pycurl.URL, treq.url)
---
>                 hdl.setopt(pycurl.URL, str(treq.url))
kaos at ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport$


2012/5/9 Andreas Stenius <andreas.stenius at astekk.se>:
> OK, I said I wasn't going to dig into the source, but since I found
> such an easy and specific fix, I had a go with it... and it WORKS! yay
> :)
>
> root at ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport#
> pkg history
> START                    OPERATION                CLIENT             OUTCOME
> [...]
> 2012-04-13T21:11:48      refresh-publishers       pkg                Succeeded
> 2012-04-13T21:11:48      install                  pkg                Succeeded
> 2012-04-13T21:11:49      rebuild-image-catalogs   pkg                Succeeded
> 2012-04-13T21:16:25      install                  pkg                Succeeded
> ...
> 2012-04-16T20:19:17      install                  pkg                Succeeded
> 2012-05-08T16:55:00      refresh-publishers       pkg                Failed
> 2012-05-08T16:55:26      refresh-publishers       pkg                Failed
> 2012-05-08T18:52:36      refresh-publishers       pkg                Failed
> 2012-05-08T20:12:58      refresh-publishers       pkg                Failed
> 2012-05-09T09:33:31      refresh-publishers       pkg                Failed
> 2012-05-09T09:50:55      refresh-publishers       pkg                Failed
> 2012-05-09T10:09:20      refresh-publishers       pkg
> Succeeded         # applied patch to engine.py (see below)
> 2012-05-09T10:09:38      rebuild-image-catalogs   pkg                Succeeded
> root at ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport#
>
> Here's the diff:
>
> root at ganesha:/usr/lib/python2.6/vendor-packages/pkg/client/transport#
> diff engine.py.org engine.py
> 779c779
> <                 hdl.setopt(pycurl.URL, treq.url)
> ---
>>                 hdl.setopt(pycurl.URL, str(treq.url))
>
> As noted, this may be an ugly work-around and perhaps not suitable for
> a long term solution, but for me as end-user... whatever makes it work
> is worth it.
>
> //Andreas
>
> 2012/5/9 Andreas Stenius <andreas.stenius at astekk.se>:
>> Found some more on this:
>> http://defect.opensolaris.org/bz/show_bug.cgi?id=13334
>> and, http://sourceforge.net/tracker/?func=detail&aid=1831680&group_id=28236&atid=392777
>>
>> Since there seems to be an easy work-around (by wrapping the passed
>> url with a str() call), I'll have a go with that.
>> (I do have the _speedups.so in the simplejson vendor package for python 2.6).
>>
>> Perhaps this should've been on the oi-dev list? adding it to cc.
>>
>> 2012/5/9 Andreas Stenius <andreas.stenius at astekk.se>:
>>> A somewhat dated report, in a completely different environment, but
>>> still seems to strike some similarities that look right:
>>> http://java.net/jira/browse/UPDATECENTER2-1697?focusedCommentId=62748&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_62748
>>>
>>> I'll try and re-set my publisher list and see if it makes a
>>> difference... as I'm not about to dig through pkg or pycurl sources at
>>> this time.
>>>
>>> //Andreas
>>>
>>> 2012/5/8 Andreas Stenius <andreas.stenius at astekk.se>:
>>>> Hi,
>>>>
>>>> It's been a few weeks since I used pkg on this box, but it worked last
>>>> time I used it.
>>>>
>>>> Now, all I get is some internal error. Any ideas what may be wrong
>>>> (and preferably, what to do about it)?
>>>>
>>>>
>>>> kaos at ganesha:~$ sudo pkg refresh
>>>> Password:
>>>> Refreshing catalog 1/3 openindiana.orgTraceback (most recent call last):
>>>>  File "/bin/pkg", line 5954, in handle_errors
>>>>    __ret = func(*args, **kwargs)
>>>>  File "/bin/pkg", line 5932, in main_func
>>>>    return func(api_inst, pargs)
>>>>  File "/bin/pkg", line 3757, in publisher_refresh
>>>>    return __refresh(api_inst, pargs, full_refresh=full_refresh)
>>>>  File "/bin/pkg", line 3729, in __refresh
>>>>    immediate=True, pubs=pubs)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line
>>>> 2319, in refresh
>>>>    pubs=pubs, immediate=immediate)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/api.py", line
>>>> 2343, in __refresh
>>>>    progtrack=self.__progresstracker)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/image.py", line
>>>> 3196, in refresh_publishers
>>>>    immediate=immediate):
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py",
>>>> line 1860, in refresh
>>>>    return self.__refresh(True, True)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py",
>>>> line 1796, in __refresh
>>>>    full_refresh, immediate, mismatched, origin)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py",
>>>> line 1751, in __refresh_origin
>>>>    full_refresh, immediate, mismatched, repo)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/publisher.py",
>>>> line 1670, in __refresh_v1
>>>>    revalidate=revalidate, alt_repo=repo)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/transport.py",
>>>> line 432, in wrapper
>>>>    return f(instance, *fargs, **f_kwargs)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/transport.py",
>>>> line 815, in get_catalog1
>>>>    revalidate=revalidate)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/repo.py",
>>>> line 453, in get_catalog1
>>>>    self._engine.run()
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/engine.py",
>>>> line 573, in run
>>>>    self.__setup_handle(eh, t)
>>>>  File "/usr/lib/python2.6/vendor-packages/pkg/client/transport/engine.py",
>>>> line 779, in __setup_handle
>>>>    hdl.setopt(pycurl.URL, treq.url)
>>>> TypeError: invalid arguments to setopt
>>>>
>>>>
>>>> pkg: This is an internal error in pkg(5) version 5d2771134f21+.  Please log a
>>>> Service Request about this issue including the information above and this
>>>> message.
>>>>
>>>> kaos at ganesha:~$ uname -a
>>>> SunOS ganesha 5.11 oi_151a3 i86pc i386 i86pc Solaris
>>>>
>>>>
>>>> Thanks in advance,
>>>> Andreas




More information about the oi-dev mailing list