Giter Club home page Giter Club logo

Comments (8)

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 15, 2010 10:00:47

I can't reproduce this, either by running managedsoftwareupdate --checkonly, or by calling FoundationPlist.writePlist() with various strange stuff...

I have to suspect there's something in munkicommon.report that FoundationPlist.writePlist() is choking on, but it's hard to guess what that might be.

If you can reliably reproduce it, try inserting a call to printreport into the savereport function, like so:

def savereport():
"""Save our report"""
printreport(report)
FoundationPlist.writePlist(report,
os.path.join(pref('ManagedInstallDir'), 'ManagedInstallReport.plist'))

and see if we can discover any clues in the report output...

I'm using a newer build, but there have been no significant changes in the code around writing the reports to disk in a long time.

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 16, 2010 03:40:53

ERROR: Unexpected error in updatecheck:
ERROR: Traceback (most recent call last):
File "/usr/local/munki/managedsoftwareupdate", line 555, in main
updatecheckresult = updatecheck.check(client_id=options.id)
File "/usr/local/munki/munkilib/updatecheck.py", line 2623, in check
munkicommon.savereport()
File "/usr/local/munki/munkilib/munkicommon.py", line 338, in savereport
printreport(report)
File "/usr/local/munki/munkilib/munkicommon.py", line 333, in printreport
printreportitem(key, reportdict[key])
File "/usr/local/munki/munkilib/munkicommon.py", line 320, in printreportitem
printreportitem(index, item, indent+1)
File "/usr/local/munki/munkilib/munkicommon.py", line 325, in printreportitem
printreportitem(subkey, value[subkey], indent+1)
File "/usr/local/munki/munkilib/munkicommon.py", line 327, in printreportitem
print indentspace*indent, '%s: %s' % (label, value)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xae' in position 18: ordinal not in range(128)

Lemme see if I can figure out what needs to be decoded...

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 16, 2010 03:52:46

With a repr(value) on line 327 we get:

Errors:
1: u'Could not retrieve catalog testing from server.'
2: CurlDownloadError('Error 22: The requested URL returned error: 404',)
3: u'Could not retrieve catalog testing from server.'
4: CurlDownloadError('Error 22: The requested URL returned error: 404',)
5: u'Could not retrieve catalog testing from server.'
6: CurlDownloadError('Error 22: The requested URL returned error: 404',)
7: u'Could not retrieve catalog testing from server.'
8: CurlDownloadError('Error 22: The requested URL returned error: 404',)
9: 'Unexpected error in updatecheck:'
10: 'Traceback (most recent call last):\n File "/usr/local/munki/managedsoftwareupdate", line 555, in main\n updatecheckresult = updatecheck.check(client_id=options.id)\n File "/usr/local/munki/munkilib/updatecheck.py", line 2623, in check\n munkicommon.savereport()\n File "/usr/local/munki/munkilib/munkicommon.py", line 340, in savereport\n os.path.join(pref('ManagedInstallDir'), 'ManagedInstallReport.plist'))\n File "/usr/local/munki/munkilib/FoundationPlist.py", line 92, in writePlist\n dataObject, NSPropertyListXMLFormat_v1_0, None)\nValueError: NSInvalidArgumentException - Class OC_PythonObject: no such selector: _cfTypeID\n'
RemovedItems:
ItemsToInstall:
1:
installed_size: 12552L
installer_item_size: 12552L
display_name: u'Adobe Flash Player'
forced_install: False
description: u'Adobe\xae Flash\xae Player is a cross-platform browser-based application runtime that delivers uncompromised viewing of expressive applications, content, and videos across screens and browsers.'
manifestitem: u' AdobeFlashPlayer '
installed: False
version_to_install: u'10.1.102.64.0'
forced_uninstall: False
installer_item: u' AdobeFlashPlayer -10.1.102.64.pkg'
name: u' AdobeFlashPlayer '
InstallResults:
Warnings:
MachineInfo:
os_vers: '10.6.4'
hostname: 'dhcp-xxxxxxx.xx.gu.se'
arch: 'i386'
ManagedInstalls:
1:
installed_size: 25517L
installer_item_size: 25517L
forced_install: False
description: u'Adium is a free instant messaging application for Mac OS X that can connect to AIM, MSN, Jabber, Yahoo, and more.'
manifestitem: u'Adium'
installed: True
forced_uninstall: False
name: u'Adium'
2:
installed_size: 1089L
installer_item_size: 1089L
forced_install: False
description: ''
manifestitem: u'MunkiPreflightPostflight'
installed: True
forced_uninstall: False
name: u'MunkiPreflightPostflight'
3:
installed_size: 13723L
installer_item_size: 13723L
forced_install: False
description: ''
manifestitem: u'Spotify'
installed: True
forced_uninstall: False
name: u'Spotify'
4:
installed_size: 41533L
installer_item_size: 41533L
forced_install: False
description: u'VLC is a powerful media player, playing most of the media codecs and video formats out there.'
manifestitem: u'VLC'
installed: True
forced_uninstall: False
name: u'VLC'
5:
installed_size: 19137L
installer_item_size: 19137L
forced_install: False
description: u'Mozilla Firefox is a free and open source web browser.'
manifestitem: u'Firefox'
installed: True
forced_uninstall: False
name: u'Firefox'
6:
installed_size: 11977L
installer_item_size: 11977L
forced_install: False
description: u"TextMate brings Apple's approach to operating systems into the world of text editors. By bridging UNIX underpinnings and GUI, TextMate cherry-picks the best of both worlds to the benefit of expert scripters and novice users alike."
manifestitem: u'TextMate'
installed: True
forced_uninstall: False
name: u'TextMate'
ProblemInstalls:
StartTime: '2010-11-16 12:42:10 +0100'
RunType: 'custom'
ItemsToRemove:
RemovalResults:
ManifestName: u'litshum_sv_testing.plist'
Traceback (most recent call last):
File "/usr/local/munki/managedsoftwareupdate", line 703, in
main()
File "/usr/local/munki/managedsoftwareupdate", line 559, in main
munkicommon.savereport()
File "/usr/local/munki/munkilib/munkicommon.py", line 340, in savereport
os.path.join(pref('ManagedInstallDir'), 'ManagedInstallReport.plist'))
File "/usr/local/munki/munkilib/FoundationPlist.py", line 92, in writePlist
dataObject, NSPropertyListXMLFormat_v1_0, None)
ValueError: NSInvalidArgumentException - Class OC_PythonObject: no such selector: _cfTypeID
bash-3.2#

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 16, 2010 03:53:52

Added a pickled report.

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 16, 2010 08:31:55

Does the error go away if Adobe Flash is not in the list of items to install?

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 18, 2010 00:31:05

No, it appears to be triggered by the testing catalog not being found. If I place a testing catalog in the repository it runs fine.

(I'm only visiting this machine 3 times a week if you're wondering why the updates are so sporadic...)

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 18, 2010 08:42:34

Fixed in r919 .

munkicommon.display_error() was appending the CurlDownloadError object to report['Errors'] instead of the error message as a string. When savereport() was called, FoundationPlist.writePlist() threw an exception when trying to write the unsupported object to the plist.

Fix is to coerce the error to a string before appending it to the report['Errors'] list. Made a similar fix to munkicommon.display_warning().

Status: Fixed

from munki.

natewalck avatar natewalck commented on July 22, 2024

From [email protected] on November 22, 2010 00:09:27

Confirmed.

Status: Verified

from munki.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.