Git Product home page Git Product logo

Comments (7)

jafingerhut avatar jafingerhut commented on August 20, 2024

Are you compiling a particular P4 program to product a BMv2 JSON "executable" file that is being loaded into the simple_switch or simple_switch_grpc process, and that process is crashing?

If you can find a way to reproduce this issue outside of the context of running ONOS (or can find someone who can help you to create such a reproduction), that would be easier for others to diagnose what is going on.

from behavioral-model.

kjw6855 avatar kjw6855 commented on August 20, 2024

It doesn't happen while installing P4 programs. Also, I saw this error in several P4 programs: e.g, basic.p4 and fabric.p4.
I don't think it's easy to reproduce without ONOS.

FYI, let me share lldb output when it occurs:

* thread #6, name = 'stratum_bmv2', stop reason = signal SIGILL: illegal instruction operand
    frame #0: 0x00007ffff662556d libsimpleswitch_runner.so.0`std::vector<bm::ActionParam, std::allocator<bm::ActionParam> >::operator[](this=size=1, __n=0) const at stl_vector.h:1061:2
   1058	      operator[](size_type __n) const _GLIBCXX_NOEXCEPT
   1059	      {
   1060		__glibcxx_requires_subscript(__n);
-> 1061		return *(this->_M_impl._M_start + __n);
   1062	      }
   1063
   1064	    protected:

* thread #6, name = 'stratum_bmv2', stop reason = signal SIGILL: illegal instruction operand
    frame #0: 0x00007ffff662556d libsimpleswitch_runner.so.0`std::vector<bm::ActionParam, std::allocator<bm::ActionParam> >::operator[](this=size=1, __n=0) const at stl_vector.h:1061:2
  * frame #1: 0x00007ffff66244cb libsimpleswitch_runner.so.0`bm::ActionFnEntry::execute(this=0x000061600003aa88, pkt=0x000060f000007a20) const at actions.cpp:411:33
    frame #2: 0x00007ffff662709d libsimpleswitch_runner.so.0`bm::ActionFnEntry::operator(this=0x000061600003aa88, pkt=0x000060f000007a20)(bm::Packet*) const at actions.cpp:429:5
    frame #3: 0x00007ffff692f296 libsimpleswitch_runner.so.0`bm::MatchTableAbstract::apply_action(this=0x000061600003a880, pkt=0x000060f000007a20) at match_tables.cpp:138:3
    frame #4: 0x00007ffff6d25982 libsimpleswitch_runner.so.0`bm::MatchActionTable::operator(this=0x000060600009d580, pkt=0x000060f000007a20)(bm::Packet*) const at tables.cpp:42:34
    frame #5: 0x00007ffff6c2f055 libsimpleswitch_runner.so.0`bm::Pipeline::apply(this=0x00006060000a2b00, pkt=0x000060f000007a20) at pipeline.cpp:44:12
    frame #6: 0x00007ffff627f8a3 libsimpleswitch_runner.so.0`SimpleSwitch::egress_thread(this=0x000061a000000080, worker_id=1) at simple_switch.cpp:677:17
    frame #7: 0x00007ffff628f6d5 libsimpleswitch_runner.so.0`void std::__invoke_impl<void, void (SimpleSwitch::*)(unsigned long), SimpleSwitch*, unsigned long>((null)=__invoke_memfun_deref @ 0x00007fffefdf9920, __f=0x000060400003d828, __t=0x000060400003d820, __args=0x000060400003d818)(unsigned long), SimpleSwitch*&&, unsigned long&&) at invoke.h:73:14
    frame #8: 0x00007ffff628f3ab libsimpleswitch_runner.so.0`std::__invoke_result<void (SimpleSwitch::*)(unsigned long), SimpleSwitch*, unsigned long>::type std::__invoke<void (__fn=0x000060400003d828, __args=0x000060400003d820, __args=0x000060400003d818)(unsigned long), SimpleSwitch*, unsigned long>(void (SimpleSwitch::*&&)(unsigned long), SimpleSwitch*&&, unsigned long&&) at invoke.h:95:14
    frame #9: 0x00007ffff628eda9 libsimpleswitch_runner.so.0`void std::thread::_Invoker<std::tuple<void (SimpleSwitch::*)(unsigned long), SimpleSwitch*, unsigned long> >::_M_invoke<0ul, 1ul, 2ul>(this=0x000060400003d818, (null)=_Index_tuple<0UL, 1UL, 2UL> @ 0x00007fffefdf99a8) at thread:244:13
    frame #10: 0x00007ffff628ea6d libsimpleswitch_runner.so.0`std::thread::_Invoker<std::tuple<void (SimpleSwitch::*)(unsigned long), SimpleSwitch*, unsigned long> >::operator(this=0x000060400003d818)() at thread:251:11
    frame #11: 0x00007ffff628e9e5 libsimpleswitch_runner.so.0`std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (SimpleSwitch::*)(unsigned long), SimpleSwitch*, unsigned long> > >::_M_run(this=0x000060400003d810) at thread:195:13
    frame #12: 0x00007ffff5555df4 libstdc++.so.6`___lldb_unnamed_symbol7640 + 20
    frame #13: 0x00007ffff57ba609 libpthread.so.0`start_thread(arg=<unavailable>) at pthread_create.c:477:8
    frame #14: 0x00007ffff5391353 libc.so.6`__clone at clone.S:95

from behavioral-model.

jafingerhut avatar jafingerhut commented on August 20, 2024

I do not know how many people are reading issues created for the behavioral-model that might know about this, but hopefully someone will respond.

I would recommend checking in any ONOS help or support forums you know of, to see if anyone there has run across this behavior.

from behavioral-model.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.