Object Manager: "Name topics already exists", but not visible in the UI

Infos:

  • Used Zammad version: 6.4.1
  • Used Zammad installation type: package
  • Operating system: Debian 12
  • Browser + version: any

Expected behavior:

  • After creating an object the database needs to be updated and Zammad should restart within seconds (as it did before and after this incident)
  • The new object should be visible in the UI

Actual behavior:

  • The site didn’t respond for a minute, so I manually restarted Zammad using systemctl restart zammad
  • Now, the new object is not visible in the UI, but can’t be created because it’s already existing


Background

  • I created the object as a multiselect, instead of using multi_tree_select
  • After noticing, I deleted the object and updated the database (i.e. clicked the button in Zammad’s UI)
  • Then I created a new object as a multi_tree_select, and updated the database (i.e. clicked the button) again—that’s where it hang/didn’t respond

Log entries

Log #1: Creating the object as multiselect

I, [2025-01-07T12:33:57.335140#458795-214540]  INFO -- : Started POST "/api/v1/object_manager_attributes" for 10.10.100.254 at 2025-01-07 12:33:57 +0100
I, [2025-01-07T12:33:57.340985#458795-214540]  INFO -- : Processing by ObjectManagerAttributesController#create as JSON
I, [2025-01-07T12:33:57.341081#458795-214540]  INFO -- :   Parameters: {"name"=>"topics", "object"=>"Organization", "display"=>"Themen", "active"=>true, "data_type"=>"multiselect", "data_option"=>{"options"=>{""=>["Managed IT"]}, "linktemplate"=>"", "translate"=>false, "default"=>[]}, "screens"=>{"view"=>{"ticket.customer"=>{"shown"=>true}, "ticket.agent"=>{"shown"=>true}, "admin.organization"=>{"shown"=>true}}, "create"=>{"ticket.agent"=>{"shown"=>true, "required"=>false}, "admin.organization"=>{"shown"=>true, "required"=>false}}, "edit"=>{"ticket.agent"=>{"shown"=>true, "required"=>false}, "admin.organization"=>{"shown"=>true, "required"=>false}}}, "position"=>nil, "id"=>"c-140"}
I, [2025-01-07T12:33:57.360806#458795-214540]  INFO -- : Completed 201 Created in 20ms (Views: 0.2ms | ActiveRecord: 5.1ms | Allocations: 11393)

Log #2: Destroyed the multiselect object

I, [2025-01-07T12:36:55.648951#458805-231880]  INFO -- : Processing by ObjectManagerAttributesController#destroy as JSON
I, [2025-01-07T12:36:55.649003#458805-231880]  INFO -- :   Parameters: {"id"=>"98"}
I, [2025-01-07T12:36:55.672878#458805-231880]  INFO -- : Completed 200 OK in 24ms (Views: 0.1ms | ActiveRecord: 5.6ms | Allocations: 16670)

Log #3: Created the object as multi_tree_view

I, [2025-01-07T12:38:04.673644#458795-230140]  INFO -- : Processing by ObjectManagerAttributesController#create as JSON
I, [2025-01-07T12:38:04.673718#458795-230140]  INFO -- :   Parameters: {"name"=>"topics", "object"=>"Organization", "display"=>"Themen", "active"=>true, "data_type"=>"multi_tree_select", "data_option"=>{"translate"=>false, "options"=>[{"name"=>"Managed IT", "value"=>"Managed IT"}, {"name"=>"Managed Backup", "value"=>"Managed Backup"}]}, "screens"=>{"view"=>{"ticket.customer"=>{"shown"=>true}, "ticket.agent"=>{"shown"=>true}, "admin.organization"=>{"shown"=>true}}, "create"=>{"ticket.agent"=>{"shown"=>true, "required"=>false}, "admin.organization"=>{"shown"=>true, "required"=>false}}, "edit"=>{"ticket.agent"=>{"shown"=>true, "required"=>false}, "admin.organization"=>{"shown"=>true, "required"=>false}}}, "position"=>nil, "id"=>"c-140"}
I, [2025-01-07T12:38:04.692179#458795-230140]  INFO -- : Completed 201 Created in 18ms (Views: 0.2ms | ActiveRecord: 5.3ms | Allocations: 10431)
I, [2025-01-07T12:38:08.384768#458826-184140]  INFO -- : Started GET "/api/v1/online_notifications/?full=true&_=1736249841094" for 10.10.100.254 at 2025-01-07 12:38:08 +0100
I, [2025-01-07T12:38:08.389259#458826-184140]  INFO -- : Processing by OnlineNotificationsController#index as JSON
I, [2025-01-07T12:38:08.389296#458826-184140]  INFO -- :   Parameters: {"full"=>"true", "_"=>"1736249841094"}
I, [2025-01-07T12:38:08.427292#458826-184140]  INFO -- : Completed 200 OK in 38ms (Views: 2.1ms | ActiveRecord: 6.9ms | Allocations: 27175)
I, [2025-01-07T12:38:10.967694#458826-229900]  INFO -- : Started POST "/api/v1/object_manager_attributes_execute_migrations" for 10.10.100.254 at 2025-01-07 12:38:10 +0100
I, [2025-01-07T12:38:10.971343#458826-229900]  INFO -- : Processing by ObjectManagerAttributesController#execute_migrations as JSON
E, [2025-01-07T12:38:10.979430#458826-229900] ERROR -- : wrong number of arguments (given 4, expected 3) (ArgumentError)
app/models/object_manager/attribute.rb:658:in `block in migration_execute'
app/models/object_manager/attribute.rb:586:in `migration_execute'
app/controllers/object_manager_attributes_controller.rb:69:in `execute_migrations'
app/controllers/application_controller/has_download.rb:17:in `block (4 levels) in <module:HasDownload>'
app/controllers/application_controller/has_download.rb:16:in `block (3 levels) in <module:HasDownload>'
app/controllers/application_controller/has_download.rb:15:in `block (2 levels) in <module:HasDownload>'
app/controllers/application_controller/handles_transitions.rb:16:in `handle_transaction'
I, [2025-01-07T12:38:10.980408#458826-229900]  INFO -- : Completed 422 Unprocessable Entity in 9ms (Views: 0.1ms | ActiveRecord: 1.5ms | Allocations: 6704)

Removing an attribute does not drop the column as far as I’m aware. Especially not if you didn’t run the database migrations before.

This topic was automatically closed 360 days after the last reply. New replies are no longer allowed.