Bug #4258

oneflow-server crashing

Added by Rolandas Naujikas over 5 years ago. Updated over 5 years ago.

Status:ClosedStart date:12/22/2015
Priority:HighDue date:
Assignee:Carlos Martín% Done:

90%

Category:OneFlow
Target version:Release 5.0
Resolution:fixed Pull request:
Affected Versions:OpenNebula 4.14

Description

== Sinatra/1.4.5 has taken the stage on 2474 for development with backup from Thin
== Sinatra has ended his set (crowd applauds)
/var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:945:in `block in result': undefined method `to_f' for ["80.95", "80.95"]:Array (NoMethodError)
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:932:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:932:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:325:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:43:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:793:in `scale_rule'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:760:in `scale_attributes?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:519:in `block in scale?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:518:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:518:in `scale?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:85:in `block in apply_scaling_policies'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:84:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:84:in `apply_scaling_policies'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:83:in `block (2 levels) in loop'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/service_pool.rb:70:in `call'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/service_pool.rb:70:in `get'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:40:in `block in loop'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:207:in `call'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:207:in `block in each_xpath'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:237:in `block in each'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:236:in `upto'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:236:in `each'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:206:in `each_xpath'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:39:in `loop'
        from /var/lib/one/4.14.2/lib/oneflow/oneflow-server.rb:138:in `block in <main>'

== Sinatra/1.4.5 has taken the stage on 2474 for development with backup from Thin
== Sinatra has ended his set (crowd applauds)
/var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:945:in `block in result': undefined method `to_f' for ["2.26", "2.26", "2.26", "2.26", "2.26", "2.26", "2.26"]:Array (NoMethodError)
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:932:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:932:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:325:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/grammar.rb:43:in `result'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:793:in `scale_rule'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:760:in `scale_attributes?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:519:in `block in scale?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:518:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/role.rb:518:in `scale?'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:85:in `block in apply_scaling_policies'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:84:in `each'
        from /var/lib/one/4.14.2/lib/oneflow/lib/strategy.rb:84:in `apply_scaling_policies'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:83:in `block (2 levels) in loop'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/service_pool.rb:70:in `call'
        from /var/lib/one/4.14.2/lib/oneflow/lib/models/service_pool.rb:70:in `get'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:40:in `block in loop'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:207:in `call'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:207:in `block in each_xpath'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:237:in `block in each'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:236:in `upto'
        from /usr/lib/ruby/vendor_ruby/nokogiri/xml/node_set.rb:236:in `each'
        from /var/lib/one/4.14.2/lib/ruby/opennebula/xml_element.rb:206:in `each_xpath'
        from /var/lib/one/4.14.2/lib/oneflow/lib/LifeCycleManager.rb:39:in `loop'
        from /var/lib/one/4.14.2/lib/oneflow/oneflow-server.rb:138:in `block in <main>'

Related issues

Related to Bug #4265: onegate append new attributes instead of replacing existing Closed 12/23/2015

Associated revisions

Revision 562c8c64
Added by Daniel Molina over 5 years ago

bug #4258: Check if value respons to to_f method

Revision 879c81a6
Added by Carlos Martín over 5 years ago

Bug #4258: Move changes to grammar source file

Revision 6ac1ac02
Added by Carlos Martín over 5 years ago

Bug #4258: Move changes to grammar source file

(cherry picked from commit 879c81a6a9d6840186926b9b43570fa584143afd)

History

#1 Updated by Daniel Molina over 5 years ago

Hi Roladas,

Could you check if there is any repeated attribute in the USER_TEMPLATE of any of the Service VMs

#2 Updated by Ruben S. Montero over 5 years ago

  • Target version set to Release 5.0

#3 Updated by Rolandas Naujikas over 5 years ago

Daniel Molina wrote:

Hi Roladas,

Could you check if there is any repeated attribute in the USER_TEMPLATE of any of the Service VMs

Yes, there are many values with the same attribute name.

#4 Updated by Rolandas Naujikas over 5 years ago

Probably it is onegate bug, because those attributes are pushed through onegate.
Instead of replacing existing attribute value it adds new attribute.

#5 Updated by Rolandas Naujikas over 5 years ago

This this crashing bug. An user could crash one service very easy. There should be some protection against bad data.

#6 Updated by Ruben S. Montero over 5 years ago

  • Related to Bug #4265: onegate append new attributes instead of replacing existing added

#7 Updated by Daniel Molina over 5 years ago

  • Assignee set to Daniel Molina

#8 Updated by Daniel Molina over 5 years ago

  • Status changed from Pending to New
  • Assignee changed from Daniel Molina to Carlos Martín
  • % Done changed from 0 to 90

TODO:

  • Review
  • test
  • merge branch "bug-4258"

#9 Updated by Carlos Martín over 5 years ago

  • Status changed from New to Closed
  • Resolution set to fixed

Also available in: Atom PDF