manageiq: Najdorf UI popup error

Hi, on Najdorf version, we have a popup on everything new load page in the UI. I did try to restart the appliance without success.

Server Error (API) URL https://myserverxxx/api/notifications?expand=resources&attributes=details&sort_by=id&sort_order=desc&limit=100

Status 500 Internal Server Error

Content-Type application/json; charset=utf-8

Data {“error”:{“kind”:“internal_server_error”,“message”:" - #<NoMethodError: undefined method `start_with?’ for nil:NilClass>",“klass”:“DRb::DRbConnError”}}

can someone have a look? Thanks and regards

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Comments: 22 (15 by maintainers)

Most upvoted comments

@jeffibm yes, this looks very much like a problem with a specific notification that stored something in the options column that isn’t being deserialized properly.

Note, this migration was supposed to handle something VERY similar: https://github.com/ManageIQ/manageiq-schema/pull/390

Note, it was handling ArgumentErrors when loading the options column whereas it appears this one is either raising a NoMethodError or a DRbConnError.

@szajac01 Can you try some debugging?

In an appliance, run the following:

vmdb
bin/rails console

# ... at the console:
Notification.all.each do |n|
  begin
    n.options
  rescue => e
    puts "failed to load notification with id: #{n.id} with error: #{e}"
    next
  end
end

Note, the id that fail and what the errors are, then we can look at what the options are for the failed rows:

As an example, if the id was 100:

Then, in psql capture what the options column is for those failing:

psql -U root vmdb_production

# in psql:
select id, options from notifications where id = 100;

@kbrock Can you take a look at this one? I wonder if this is the psych deseralization error? cc @jrafanie @jeffibm Have you seen this issue before?