Red Hat Bugzilla – Bug 855119
Corrupted config file / kickstart script data on postgresql
Last modified: 2012-11-01 12:17:14 EDT
Description of problem:
If you are using the PostgreSQL database and a certain number of unknown other conditions are met, then config file and kickstart script contents appears corrupted in the webui. Unfortunately it is impossible to reproduce on some (most?) systems, due to some unknown variables.
On some systems, always, on other systems, never.
Steps to Reproduce:
1. View the contents of any config file or kickstart script in the webui
Contents are corrupted / are hex numbers instead of characters
File contents are displayed
This is due to the addition of a new and different default output style for bytea type fields in Postgres 9.0. In 9.0 the default output type is hex digits, whereas before then the only and default output type for bytea fields was the "escape" output type. All code in Spacewalk assumes it is receiving the "escape" type response from the bytea field, so if the database returns hex instead it doesn't know how to parse it and displays improperly.
The fix for this is really simple. We just need to set the tell the database to always use the escape output type for bytea fields:
ALTER DATABASE database SET bytea_output = 'escape';
And not, in case it is not clear, the above fix should be safe on every system, regardless of if it is currently manifesting the problem or not.
I believe this has been addressed in Spacewalk nightly / 1.8. The bytea_output is not needed (and could actually be harmful).
Spacewalk 1.8 has been released: https://fedorahosted.org/spacewalk/wiki/ReleaseNotes18