Bug #25220
Updated by Daniel Kimsey about 6 years ago
Katello 3.7.1, unable to load any Katello-related pages. With stbenjam's help, we were able to determine it I initially thought this was related to the fact that in 3.5 #25114, but I removed the abrt plugin (it was preventing the server from starting). suspect it's a red-herring now. <pre> # foreman-rake Javascript console > Setting.where(type: 'Setting::Abrt').all ActiveRecord::SubclassNotFound: The single-table inheritance mechanism failed to locate the subclass: 'Setting::Abrt'. This error is raised because the column 'category' is reserved for storing the class in case of inheritance. Please rename this column if you didn't intend it to be used for storing the inheritance class or overwrite Setting.inheritance_column to use another column for that information. </pre> This prevented all plugins from being able to load their respective "settings.rb":https://github.com/Katello/katello/blob/KATELLO-3.7/app/models/setting/content.rb#L40 files. There were no errors anywhere about the failed transactions. Manual fix: <pre> # foreman-rake console > class Setting::Abrt < Setting; end; Setting.where(category: 'Setting::Abrt').destroy_all </pre> h2. Original issue I noticed this when I was unable to load any Katello-related pages due to a JS console error: shows: <pre> caught SyntaxError: Unexpected end of JSON input at JSON.parse (<anonymous>) at Object.fromJson (bastion-33c698dac5026546914c998f2897ddcd66f098082bc57dbe12d6e12585d6beb9.js:18056) at content_hosts:41 </pre> <pre> <script src="/javascripts/bastion/angular-i18n/angular-locale_en.js"></script> <script type="text/javascript"> angular.module('Bastion.features').value('FeatureSettings', angular.fromJson({})); angular.module('Bastion').value('currentLocale', 'en'); angular.module('Bastion').value('CurrentOrganization', "1"); angular.module('Bastion').value('contentAccessMode', "entitlement"); angular.module('Bastion').value('foreman', tfm); angular.module('Bastion').value('repositoryTypes', angular.fromJson('[{"id":"deb","name":"deb","creatable":true},{"id":"docker","name":"docker","creatable":true},{"id":"file","name":"file","creatable":true},{"id":"puppet","name":"puppet","creatable":true},{"id":"yum","name":"yum","creatable":true}]')); angular.module('Bastion').value('deleteHostOnUnregister', angular.fromJson('false')); angular.module('Bastion').value('contentDisconnected', angular.fromJson('')); /* <======== suspect line 41 */ angular.module('Bastion').value('entriesPerPage', "200"); angular.module('Bastion').constant('BastionConfig', angular.fromJson('{"markTranslated":false,"relativeUrlRoot":"/","consumerCertRPM":"katello-ca-consumer-latest.noarch.rpm","defaultDownloadPolicy":"immediate","remoteExecutionPresent":true,"remoteExecutionByDefault":false}')); angular.module('Bastion.auth').value('CurrentUser', { id: 4, admin: true }); angular.module('Bastion.auth').value('Permissions', angular.fromJson('[{"permission":{"id":10,"name":"view_bookmarks","resource_type":"Bookmark","created_at":"2016-09-27T14:40:25.175-05:00","updated_at":"2016-09-27T14:40:25.175-05:00"}},{"permission":{"id":153,"name":"view_tasks","resource_type":null,"created_at":"2016-09-27T14:40:26.165-05:00","updated_at":"2016-09-27T14:40:26.165-05:00"}},{"permission":{"id":167,"name":"view_foreman_tasks","resource_type":"ForemanTasks::Task","created_at":"2016-09-27T14:40:41.797-05:00","updated_at":"2016-09-27T14:40:41.797-05:00"}}]')); </script> <script src="/assets/bastion_katello/bastion_katello-5f2a8f317a9030f9ca849f5d881e529953e908fc5e10d41407d00e8c875e00c6.js"></script> </pre>