Project

General

Profile

Actions

Bug #307

closed

Bad audits record causing traceback/blank

Added by Frank Sweetser almost 14 years ago. Updated almost 13 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Category:
Audit Log
Target version:
-
Difficulty:
Triaged:
Fixed in Releases:
Found in Releases:

Description

Browsing through the list of audits, I found that that any index page which encompasses certain records causes this traceback:

Processing AuditsController#index (for 130.215.201.24 at 2010-06-04 12:11:30) [GET]
  Parameters: {"search"=>{"order"=>"ascend_by_created_at"}, "action"=>"index", "controller"=>"audits", "page"=>"11"}
Rendering template within layouts/standard
Rendering audits/index

ActionView::TemplateError (undefined method `keys' for #<String:0xb68181c8>) on line #21 of app/views/audits/index.html.erb:
18:       <td><%=h audit.created_at.to_s(:long) %></td>
19:       <td><%= changelist = "" 
20:               unless audit.changes.nil? or audit.changes.to_s.empty?
21:                  changelist = audit.changes.keys.map(&:humanize).to_sentence
22:               end
23:               h changelist %></td>
24:       <td><%=h audit.user %></td>

    app/views/audits/index.html.erb:21
    app/views/audits/index.html.erb:13:in `each'
    app/views/audits/index.html.erb:13
    passenger (2.2.11) lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
    passenger (2.2.11) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:418:in `start_request_handler'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:358:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/utils.rb:184:in `safe_fork'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:354:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:163:in `start'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:213:in `start'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

Rendering /usr/share/foreman/public/500.html (500 Internal Server Error)

Here's an example of the changes column in one of the problematic records:

 --- 
  installed_at: 
    - 2010-06-02 18:26:42.000000 +00:00
    - !ruby/object:ActiveSupport::TimeWithZone
      period: 
      time: 
      time_zone: !ruby/object:ActiveSupport::TimeZone
        name: UTC
        tzinfo: !ruby/object:TZInfo::DataTimezone
          info: !ruby/object:TZInfo::DataTimezoneInfo
            identifier: Etc/UTC
            offsets: 
              !ruby/sym o0: &id001 !ruby/object:TZInfo::TimezoneOffsetInfo
                abbreviation: !ruby/sym UTC
                std_offset: 0
                utc_offset: 0
                utc_total_offset: 0
            previous_offset: *id001
            transitions: []
            transitions_index: 
        utc_offset: 0
      utc: 2010-06-02 21:09:58.701709 +00:00
  build: 
    - true
    - false

If I view the audit record directly, it shows up as empty - ie, the page renders properly, but there are no changes listed.

Actions #1

Updated by Frank Sweetser almost 14 years ago

Sorry, ignore that traceback - that's one from when I was in the middle of mucking around. Here's one from the original source:

Processing AuditsController#index (for 130.215.201.24 at 2010-06-04 12:54:39) [GET]
  Parameters: {"search"=>{"order"=>"ascend_by_created_at"}, "action"=>"index", "controller"=>"audits", "page"=>"11"}
Rendering template within layouts/standard
Rendering audits/index

ActionView::TemplateError (undefined method `keys' for #<String:0xb68af9ec>) on line #19 of app/views/audits/index.html.erb:
16:       <td><%=h audit_title audit %></td>
17:       <td><%=h audit.action %></td>
18:       <td><%=h audit.created_at.to_s(:long) %></td>
19:       <td><%=h audit.changes.keys.map(&:humanize).to_sentence %></td>
20:       <td><%=h audit.user %></td>
21:       <td><%= link_to "Details", audit %></td>
22:     </tr>

    app/views/audits/index.html.erb:19
    app/views/audits/index.html.erb:13:in `each'
    app/views/audits/index.html.erb:13
    passenger (2.2.11) lib/phusion_passenger/rack/request_handler.rb:92:in `process_request'
    passenger (2.2.11) lib/phusion_passenger/abstract_request_handler.rb:207:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:418:in `start_request_handler'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:358:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/utils.rb:184:in `safe_fork'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:354:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:163:in `start'
    passenger (2.2.11) lib/phusion_passenger/railz/application_spawner.rb:213:in `start'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:262:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:126:in `lookup_or_add'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:256:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:80:in `synchronize'
    passenger (2.2.11) lib/phusion_passenger/abstract_server_collection.rb:79:in `synchronize'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:255:in `spawn_rails_application'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:154:in `spawn_application'
    passenger (2.2.11) lib/phusion_passenger/spawn_manager.rb:287:in `handle_spawn_application'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `__send__'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:352:in `main_loop'
    passenger (2.2.11) lib/phusion_passenger/abstract_server.rb:196:in `start_synchronously'

Rendering /usr/share/foreman/public/500.html (500 Internal Server Error)
Actions #2

Updated by Ohad Levy almost 14 years ago

  • Target version set to 0.1-6
Actions #3

Updated by Ohad Levy over 13 years ago

  • Target version changed from 0.1-6 to 0.2
Actions #4

Updated by Ohad Levy over 13 years ago

  • Target version deleted (0.2)
Actions #5

Updated by Ohad Levy about 13 years ago

we've recently updated the audit code, can you recreate these failures?

Actions #6

Updated by Ohad Levy almost 13 years ago

  • Status changed from New to Closed
Actions

Also available in: Atom PDF