Bug 1022752
Summary: | traceback after core test | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | [Retired] Red Hat Hardware Certification Program | Reporter: | Brian Brock <bbrock> | ||||||
Component: | Test Suite (harness) | Assignee: | Greg Nichols <gnichols> | ||||||
Status: | CLOSED DUPLICATE | QA Contact: | Red Hat Kernel QE team <kernel-qe> | ||||||
Severity: | unspecified | Docs Contact: | |||||||
Priority: | unspecified | ||||||||
Version: | 1.7.0 | CC: | bbrock, gnichols, qcai, rlandry | ||||||
Target Milestone: | --- | ||||||||
Target Release: | --- | ||||||||
Hardware: | Unspecified | ||||||||
OS: | Unspecified | ||||||||
Whiteboard: | |||||||||
Fixed In Version: | hwcert-client 1.7.0-63 | Doc Type: | Bug Fix | ||||||
Doc Text: | Story Points: | --- | |||||||
Clone Of: | Environment: | ||||||||
Last Closed: | 2014-03-26 21:52:37 UTC | Type: | Bug | ||||||
Regression: | --- | Mount Type: | --- | ||||||
Documentation: | --- | CRM: | |||||||
Verified Versions: | Category: | --- | |||||||
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |||||||
Cloudforms Team: | --- | Target Upstream Version: | |||||||
Embargoed: | |||||||||
Bug Depends On: | |||||||||
Bug Blocks: | 1052374 | ||||||||
Attachments: |
|
Description
Brian Brock
2013-10-23 23:47:03 UTC
Subsequent test runs immediately terminate with: Error: hwcert is already running (lock file /var/lock/subsys/hwcert found) traceback during another run on the same system, after cleanup https://bugzilla.redhat.com/show_bug.cgi?id=1022749 subsequent cycles of "clean" and "run -t core" fail identically. looks like some "bad" characters in /var/log/messages. Here's the traceback with a bit more leading up to it: checking directory /var/log/hwcert/runs/2/core Skipping output.log Warning: Unicode decode error in /var/log/messages 'ascii' codec can't decode byte 0xe2 in position 69: ordinal not in range(128) saveOutput: /var/log/hwcert/runs/2/core/output.log Return value was 0 Traceback (most recent call last): File "/usr/bin/hwcert-backend", line 45, in <module> success = hwcertBackend.do(args) File "/usr/share/hwcert/lib/hwcert/backend.py", line 182, in do result = self.commands[self.command]() File "/usr/share/hwcert/lib/hwcert/harness.py", line 393, in doRun return self._doRun(tests) File "/usr/share/hwcert/lib/hwcert/harness.py", line 540, in _doRun self.certification.save(self.environment.getResultsPath()) File "/usr/share/hwcert/lib/hwcert/documentbase.py", line 281, in save file.write(self.document.toxml()) UnicodeEncodeError: 'ascii' codec can't encode characters in position 135152-135154: ordinal not in range(128) Even the passing storage test has similar unicode errors reading /var/log/messages. Created attachment 816857 [details]
documentbase.py patch to encode text elements in xml as utf-8
Looking into possible encoding issues, I found that some self-test code was failing in 1.7.0 while passing in 1.6.4 (1.7.0 uses python core XML - prior releases use PyXML).
The fix for the self test involving unicode 128-255 is to explicitly encode as utf-8 when setting text elements. This may be a fix for this bug, as it seems to involve encoding issues. We'd need a reliable reproducer to be sure.
Created attachment 821142 [details]
documentbase.py patch to encode text elements in xml as utf-8
reopening, I've seen this on ppc64 at the end of `run -t core`: Subtest Stress: Running stress for 10 min. stress --cpu 12 --io 12 --vm 12 --vm-bytes 128M --timeout 10m stress: info: [31425] dispatching hogs: 12 cpu, 12 io, 12 vm, 0 hdd stress: info: [31425] successful run completed in 600s PASS copying attachments... checking directory /var/log/hwcert/runs/1/core Skipping output.log saveOutput: /var/log/hwcert/runs/1/core/output.log Return value was 0 Traceback (most recent call last): File "/usr/bin/hwcert-backend", line 45, in <module> success = hwcertBackend.do(args) File "/usr/share/hwcert/lib/hwcert/backend.py", line 182, in do result = self.commands[self.command]() File "/usr/share/hwcert/lib/hwcert/harness.py", line 356, in doRun return self._doRun(tests) File "/usr/share/hwcert/lib/hwcert/harness.py", line 503, in _doRun self.certification.save(self.environment.getResultsPath()) File "/usr/share/hwcert/lib/hwcert/documentbase.py", line 281, in save file.write(self.document.toxml()) UnicodeEncodeError: 'ascii' codec can't encode characters in position 118480-118482: ordinal not in range(128) and then: $ hwc save Error: hwcert is already running (lock file /var/lock/subsys/hwcert found) Override? (y|n) y response: y Traceback (most recent call last): File "/usr/bin/hwcert-backend", line 45, in <module> success = hwcertBackend.do(args) File "/usr/share/hwcert/lib/hwcert/backend.py", line 182, in do result = self.commands[self.command]() File "/usr/share/hwcert/lib/hwcert/backend.py", line 307, in doSave self.load() File "/usr/share/hwcert/lib/hwcert/harness.py", line 58, in load self.certification.load(self.environment.getResultsPath()) File "/usr/share/hwcert/lib/hwcert/certificationtest.py", line 183, in load DocumentBase.load(self, filename) File "/usr/share/hwcert/lib/hwcert/documentbase.py", line 275, in load self.document = parse(file) File "/usr/lib64/python2.7/xml/dom/minidom.py", line 1921, in parse return expatbuilder.parse(file) File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 928, in parse result = builder.parseFile(file) File "/usr/lib64/python2.7/xml/dom/expatbuilder.py", line 211, in parseFile parser.Parse("", True) xml.parsers.expat.ExpatError: no element found: line 1, column 0 flagging needinfo because this is an old bug. Are there other checks that can be run for catching similar problems? normally the second traceback (previous comment) will thereafter repeat with each invocation. hwcert-backend clean breaks this cycle, and allows at least basic commands to run without traceback again. the first traceback (and consequently the second) only occurs for `run -t core` or runs that include it. *** This bug has been marked as a duplicate of bug 1041999 *** |