API mismatch detected: nsh_map_details_ed71a138 is missing


Ni, Hongjun
 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)


Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES@Cisco) <mgradzki@...>
 

Hi,

 

it looks like you are getting API mismatch which means that nsh plugin that you have installed

does not have the same version of nsh_map_details msg as the nsh-sfc jar your hc2vpp is using.

In 17.01 you would also get API mismatch if such situation occurs, but the message

would not be that specific.

 

Please check if the issue occurs if you:

1)      build nsh plugin locally and install to vpp plugin dir

2)      install nsh-sfc jar to local m2 repo

3)      build hc2vpp (should pick jar from local repo)

4)      run hc2vpp

 

If you get such issue if you use vppm nsh and hc2vpp packages,

it probably means there is some issue in integration jobs.

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 21 marca 2017 03:29
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)


Ni, Hongjun
 

Hi Marek,

 

Thank you for your detailed suggestion. Will give it a try as per your steps.

 

Thanks,

Hongjun

 

From: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) [mailto:mgradzki@...]
Sent: Tuesday, March 21, 2017 2:56 PM
To: Ni, Hongjun <hongjun.ni@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi,

 

it looks like you are getting API mismatch which means that nsh plugin that you have installed

does not have the same version of nsh_map_details msg as the nsh-sfc jar your hc2vpp is using.

In 17.01 you would also get API mismatch if such situation occurs, but the message

would not be that specific.

 

Please check if the issue occurs if you:

1)      build nsh plugin locally and install to vpp plugin dir

2)      install nsh-sfc jar to local m2 repo

3)      build hc2vpp (should pick jar from local repo)

4)      run hc2vpp

 

If you get such issue if you use vppm nsh and hc2vpp packages,

it probably means there is some issue in integration jobs.

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 21 marca 2017 03:29
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)


Ni, Hongjun
 

Hi Marek,

 

I followed your advice and tried it, but it failed with below output:

It seems that libjvpp_nsh.so failed to open.

 

Could you help to take a look at this issue? It has blocked for some days.

I have created a patch to address this issue:  https://gerrit.fd.io/r/#/c/5750/, but it did not work.

 

Thanks in advance,

Hongjun

 

2017-03-22 23:11:22.801 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@6ddd1c51

Mar 22, 2017 11:11:22 PM io.fd.vpp.jvpp.nsh.JVppNshImpl <clinit>

SEVERE: Can't find jvpp jni library: libjvpp_nsh.so

Exception in thread "main" java.lang.ExceptionInInitializerError

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:33)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:42)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)

        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)

        at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)

       ……

        at com.google.inject.Guice.createInjector(Guice.java:99)

        at com.google.inject.Guice.createInjector(Guice.java:73)

        at io.fd.honeycomb.infra.distro.Main.init(Main.java:67)

        at io.fd.honeycomb.infra.distro.Main.main(Main.java:58)

Caused by: java.io.IOException: Failed to open library resource libjvpp_nsh.so

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.loadLibrary(JVppNshImpl.java:59)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:30)

        ... 64 more

 

 

 

From: Ni, Hongjun
Sent: Wednesday, March 22, 2017 10:46 AM
To: 'Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco)' <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek,

 

Thank you for your detailed suggestion. Will give it a try as per your steps.

 

Thanks,

Hongjun

 

From: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) [mailto:mgradzki@...]
Sent: Tuesday, March 21, 2017 2:56 PM
To: Ni, Hongjun <hongjun.ni@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi,

 

it looks like you are getting API mismatch which means that nsh plugin that you have installed

does not have the same version of nsh_map_details msg as the nsh-sfc jar your hc2vpp is using.

In 17.01 you would also get API mismatch if such situation occurs, but the message

would not be that specific.

 

Please check if the issue occurs if you:

1)      build nsh plugin locally and install to vpp plugin dir

2)      install nsh-sfc jar to local m2 repo

3)      build hc2vpp (should pick jar from local repo)

4)      run hc2vpp

 

If you get such issue if you use vppm nsh and hc2vpp packages,

it probably means there is some issue in integration jobs.

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 21 marca 2017 03:29
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)


Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES@Cisco) <mgradzki@...>
 

Hi,

 

I built your code and found two issues

1)      Java is trying to load libjvpp_nsh.so, but you include .so.0.0.0 in the jar, please fix the makefile.

2)      You will get api mismatch after the fix, because

am->msg_index_by_name_and_crc,

used to check api compatibility does,

not include nsh messages

 

this can be checked with vat# dump_msg_api_table

 

on the other hand nsh messages are listed by vppctl show api message-table

 

Please verify you have the same issue. It can be caused by wrong msg registration by nsh plugin or vpp bug

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 22 marca 2017 07:32
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek,

 

I followed your advice and tried it, but it failed with below output:

It seems that libjvpp_nsh.so failed to open.

 

Could you help to take a look at this issue? It has blocked for some days.

I have created a patch to address this issue:  https://gerrit.fd.io/r/#/c/5750/, but it did not work.

 

Thanks in advance,

Hongjun

 

2017-03-22 23:11:22.801 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@6ddd1c51

Mar 22, 2017 11:11:22 PM io.fd.vpp.jvpp.nsh.JVppNshImpl <clinit>

SEVERE: Can't find jvpp jni library: libjvpp_nsh.so

Exception in thread "main" java.lang.ExceptionInInitializerError

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:33)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:42)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)

        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)

        at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)

       ……

        at com.google.inject.Guice.createInjector(Guice.java:99)

        at com.google.inject.Guice.createInjector(Guice.java:73)

        at io.fd.honeycomb.infra.distro.Main.init(Main.java:67)

        at io.fd.honeycomb.infra.distro.Main.main(Main.java:58)

Caused by: java.io.IOException: Failed to open library resource libjvpp_nsh.so

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.loadLibrary(JVppNshImpl.java:59)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:30)

        ... 64 more

 

 

 

From: Ni, Hongjun
Sent: Wednesday, March 22, 2017 10:46 AM
To: 'Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco)' <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek,

 

Thank you for your detailed suggestion. Will give it a try as per your steps.

 

Thanks,

Hongjun

 

From: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) [mailto:mgradzki@...]
Sent: Tuesday, March 21, 2017 2:56 PM
To: Ni, Hongjun <hongjun.ni@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi,

 

it looks like you are getting API mismatch which means that nsh plugin that you have installed

does not have the same version of nsh_map_details msg as the nsh-sfc jar your hc2vpp is using.

In 17.01 you would also get API mismatch if such situation occurs, but the message

would not be that specific.

 

Please check if the issue occurs if you:

1)      build nsh plugin locally and install to vpp plugin dir

2)      install nsh-sfc jar to local m2 repo

3)      build hc2vpp (should pick jar from local repo)

4)      run hc2vpp

 

If you get such issue if you use vppm nsh and hc2vpp packages,

it probably means there is some issue in integration jobs.

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 21 marca 2017 03:29
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)


Ni, Hongjun
 

Hi Marek,

 

Yes,  you are right.  The root cause is that nsh plugin used the old API msg registration mechanism.

 

When I modified the code to use new API msg registration mechanism, it works well.

 

Thanks a lot,

Hongjun

 

From: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) [mailto:mgradzki@...]
Sent: Wednesday, March 22, 2017 6:01 PM
To: Ni, Hongjun <hongjun.ni@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi,

 

I built your code and found two issues

1)      Java is trying to load libjvpp_nsh.so, but you include .so.0.0.0 in the jar, please fix the makefile.

2)      You will get api mismatch after the fix, because

am->msg_index_by_name_and_crc,

used to check api compatibility does,

not include nsh messages

 

this can be checked with vat# dump_msg_api_table

 

on the other hand nsh messages are listed by vppctl show api message-table

 

Please verify you have the same issue. It can be caused by wrong msg registration by nsh plugin or vpp bug

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 22 marca 2017 07:32
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek,

 

I followed your advice and tried it, but it failed with below output:

It seems that libjvpp_nsh.so failed to open.

 

Could you help to take a look at this issue? It has blocked for some days.

I have created a patch to address this issue:  https://gerrit.fd.io/r/#/c/5750/, but it did not work.

 

Thanks in advance,

Hongjun

 

2017-03-22 23:11:22.801 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@6ddd1c51

Mar 22, 2017 11:11:22 PM io.fd.vpp.jvpp.nsh.JVppNshImpl <clinit>

SEVERE: Can't find jvpp jni library: libjvpp_nsh.so

Exception in thread "main" java.lang.ExceptionInInitializerError

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:33)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:42)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)

        at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)

        at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)

       ……

        at com.google.inject.Guice.createInjector(Guice.java:99)

        at com.google.inject.Guice.createInjector(Guice.java:73)

        at io.fd.honeycomb.infra.distro.Main.init(Main.java:67)

        at io.fd.honeycomb.infra.distro.Main.main(Main.java:58)

Caused by: java.io.IOException: Failed to open library resource libjvpp_nsh.so

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.loadLibrary(JVppNshImpl.java:59)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.<clinit>(JVppNshImpl.java:30)

        ... 64 more

 

 

 

From: Ni, Hongjun
Sent: Wednesday, March 22, 2017 10:46 AM
To: 'Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco)' <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek,

 

Thank you for your detailed suggestion. Will give it a try as per your steps.

 

Thanks,

Hongjun

 

From: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) [mailto:mgradzki@...]
Sent: Tuesday, March 21, 2017 2:56 PM
To: Ni, Hongjun <hongjun.ni@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: RE: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi,

 

it looks like you are getting API mismatch which means that nsh plugin that you have installed

does not have the same version of nsh_map_details msg as the nsh-sfc jar your hc2vpp is using.

In 17.01 you would also get API mismatch if such situation occurs, but the message

would not be that specific.

 

Please check if the issue occurs if you:

1)      build nsh plugin locally and install to vpp plugin dir

2)      install nsh-sfc jar to local m2 repo

3)      build hc2vpp (should pick jar from local repo)

4)      run hc2vpp

 

If you get such issue if you use vppm nsh and hc2vpp packages,

it probably means there is some issue in integration jobs.

 

Regards,

Marek

 

From: Ni, Hongjun [mailto:hongjun.ni@...]
Sent: 21 marca 2017 03:29
To: Marek Gradzki -X (mgradzki - PANTHEON TECHNOLOGIES at Cisco) <mgradzki@...>
Cc: hc2vpp@...; Zhou, Danny <danny.zhou@...>
Subject: API mismatch detected: nsh_map_details_ed71a138 is missing

 

Hi Marek and all,

 

In stable/1701, hc2vpp and NSH_SFC could work well together.

 

But in master/1704, there is an issue when integrating hc2vpp and NSH_SFC.

Below is the debug output:  it seems nsh_map_details_ed71a138 is missing.

But I did not change anything for all APIs in NSH_SFC.

Could you give some advice on how to address this issue? 

 

Thanks a lot,

Hongjun

 

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.c.i.JVppRegistryProvider - JVpp connection opened successfully as: honeycomb

2017-03-21 19:08:55.914 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.JVppCoreProvider@48268eec

2017-03-21 19:08:56.025 CST [main] INFO  i.f.h.c.integration.JVppCoreProvider - Successfully loaded jvpp-core plugin

2017-03-21 19:08:56.104 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.acl.JVppAclProvider@65da01f4

Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0:62: Java_io_fd_vpp_jvpp_acl_JVppAclImpl_init0

2017-03-21 19:08:56.123 CST [main] INFO  io.fd.hc2vpp.acl.JVppAclProvider - Acl plugin successfully loaded[version 1.1]

2017-03-21 19:08:56.138 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@43d76a92

2017-03-21 19:08:56.145 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.153 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider@4f235107

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.DataTreeProvider$ContextDataTreeProvider@53f6fd09

2017-03-21 19:08:56.168 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.PersistingDataTreeProvider$ContextPersistingDataTreeProvider@1b84f475

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.ModifiableDTMgrProvider@5bb8e6fc

2017-03-21 19:08:56.169 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.context.HoneycombContextDOMDataBrokerProvider@7749bf93

2017-03-21 19:08:56.172 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.BindingDataBrokerProvider@46468f0

2017-03-21 19:08:56.179 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider@39d77de9

2017-03-21 19:08:56.192 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.common.integration.ContextsReaderFactoryProvider@5ca4dce5

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider@4a22e4d7

2017-03-21 19:08:56.194 CST [main] INFO  i.f.h.v.impl.util.JVppNshProvider - Successfully loaded jvpp-nsh plugin

Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0:57: Java_io_fd_vpp_jvpp_nsh_JVppNshImpl_init0

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_entry_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_entry_details_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_add_del_map_reply_t_handler'

vl_msg_api_config:664: BUG: multiple registrations of 'vl_api_nsh_map_details_t_handler'

2017-03-21 19:08:56.196 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryBuilderProvider@6aae0e6f

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReaderRegistryProvider@37e7c4cc

2017-03-21 19:08:56.197 CST [main] INFO  i.f.h.infra.distro.ProviderTrait - Providing: io.fd.honeycomb.infra.distro.data.oper.ReadableDTDelegProvider@565d7d2f

2017-03-21 19:08:56.237 CST [main] ERROR io.fd.honeycomb.infra.distro.Main - Failed to initialize Honeycomb components

com.google.inject.CreationException: Unable to create injector, see the following errors:

 

1) Error in custom provider, java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

  while locating io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider

  at io.fd.hc2vpp.vppnsh.impl.VppNshModule.configure(VppNshModule.java:66)

  while locating io.fd.vpp.jvpp.nsh.future.FutureJVppNsh

    for the 1st parameter of io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory.<init>(VppNshWriterFactory.java:49)

  while locating io.fd.hc2vpp.vppnsh.impl.config.VppNshWriterFactory

  while locating io.fd.honeycomb.translate.write.WriterFactory annotated with @com.google.inject.multibindings.Element(setName=,uniqueId=134, type=MULTIBINDER, keyType=)

  at io.fd.hc2vpp.lisp.LispModule.configure(LispModule.java:87) (via modules: io.fd.hc2vpp.lisp.LispModule -> com.google.inject.multibindings.Multibinder$RealMultibinder)

  while locating java.util.Set<io.fd.honeycomb.translate.write.WriterFactory>

    for field at io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider.writerFactories(WriterRegistryProvider.java:29)

  while locating io.fd.honeycomb.infra.distro.data.config.WriterRegistryProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:49)

  while locating io.fd.honeycomb.translate.write.registry.ModifiableWriterRegistryBuilder

    for field at io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider.registry(ModifiableDTDelegProvider.java:32)

  while locating io.fd.honeycomb.infra.distro.data.ModifiableDTDelegProvider

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:66)

  while locating io.fd.honeycomb.data.ModifiableDataManager

    for field at io.fd.honeycomb.infra.distro.data.HoneycombDOMDataBrokerProvider.modDataManager(HoneycombDOMDataBrokerProvider.java:26)

  at io.fd.honeycomb.infra.distro.data.ConfigAndOperationalPipelineModule.configure(ConfigAndOperationalPipelineModule.java:73)

Caused by: java.lang.IllegalStateException: API mismatch detected: nsh_map_details_ed71a138 is missing

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init0(Native Method)

        at io.fd.vpp.jvpp.nsh.JVppNshImpl.init(JVppNshImpl.java:74)

        at io.fd.vpp.jvpp.JVppRegistryImpl.register(JVppRegistryImpl.java:65)

        at io.fd.vpp.jvpp.nsh.future.FutureJVppNshFacade.<init>(FutureJVppNshFacade.java:25)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:54)

        at io.fd.hc2vpp.vppnsh.impl.util.JVppNshProvider.create(JVppNshProvider.java:32)

        at io.fd.honeycomb.infra.distro.ProviderTrait.get(ProviderTrait.java:30)