Nothing Special   »   [go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PIMv6 Northbound Configuration is broken #16962

Open
2 tasks done
michaelinoue opened this issue Sep 30, 2024 · 0 comments
Open
2 tasks done

PIMv6 Northbound Configuration is broken #16962

michaelinoue opened this issue Sep 30, 2024 · 0 comments
Labels
triage Needs further investigation

Comments

@michaelinoue
Copy link
michaelinoue commented Sep 30, 2024

Description

When trying to configure PIMv6 via Northbound gRPC, seeing error message [WH5BW-RNTXW][EC 100663326] nb_running_get_entry_worker: failed to find entry [xpath /frr-interface:lib/interface[name='eth0']/frr-pim:pim/address-family[address-family='frr-routing:ipv6']]

Version

# show version
FRRouting 10.1 (host) on Linux(6.6.51).
Copyright 1996-2005 Kunihiro Ishiguro, et al.

How to reproduce

  1. Enable Northbound gRPC, and specify opts -M grpc for pim6d in /etc/frr/daemons file
  2. Use client code to edit a candidate request to enable PIM on an interface, (e.g. in golang):
conn, err := grpc.NewClient("localhost:50051", grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
	return err
}

cli := frr.NewNorthboundClient(conn)

ctx := context.Background()

newCandidate, err := cli.CreateCandidate(ctx, &frr.CreateCandidateRequest{})

editReq := &frr.EditCandidateRequest{}
editReq.CandidateId = newCandidate.GetCandidateId()
interfacePath := "/frr-interface:lib/frr-interface:interface[name='eth0']/frr-pim:pim/address-family[address-family='frr-routing:ipv6']/pim-enable"
editReq.Update = append(editReq.Update, &frr.PathValue{Path: interfacePath, Value: "true"})
r, err := cli.EditCandidate(ctx, editReq)
if err != nil {
	return err
}
	
commitReq := &frr.CommitRequest{}
commitReq.CandidateId = newCandidate.GetCandidateId()
commitReq.Phase = frr.CommitRequest_ALL
commitReq.Comment = "Add pim6 to interface " + interfaceName
if _, err = cli.Commit(ctx, commitReq); err != nil {
	return err
}

Expected behavior

Expect to see gRPC success (exit code 0) and updated interface with ipv6 pim enabled in the running configuration

Actual behavior

Seeing crash with following backtrace:

Sep 30 23:33:54 host frrinit.sh[986]: core_handler: showing active allocations in memory group libfrr
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Buffer                        :      4 *         24
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Host config                   :      6 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Command Tokens                :   2732 *         72
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Command Token Text            :   1929 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Command Token Help            :   1929 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Command Argument Name         :    631 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  RCU thread                    :      1 *        128
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  FRR POSIX Thread              :      2 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  POSIX sync primitives         :      2 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Graph                         :     17 *          8
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Graph Node                    :   3208 *         32
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Hash                          :     48 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Hash Bucket                   :    536 *         24
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Hash Index                    :     24 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Interface                     :      8 *        280
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Connected                     :      9 *         64
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Link List                     :    122 *         40
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Link Node                     :     49 *         24
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Temporary memory              :      4 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Module loading name           :      1 *          5
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Module loading arguments      :      1 *          5
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Northbound Node               :    226 *       1208
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Northbound Configuration      :      3 *         16
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Prefix                        :      9 *         56
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Privilege information         :      3 * (variably sized)
Sep 30 23:33:53 host pim6d[986]: [WH5BW-RNTXW][EC 100663326] nb_running_get_entry_worker: failed to find entry [xpath /frr-interface:lib/interface[name='eth0']/frr-pim:pim/address-family[address-family='frr-routing:ipv6']]
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Stream                        :      4 *     156856
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Route table                   :      2 *         56
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Route node                    :      1 *        120
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Thread                        :      9 *        160
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Thread master                 :      8 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Thread Poll Info              :      4 *       8192
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Thread stats                  :     14 *        112
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Typed-hash bucket             :      3 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Typed-heap array              :      1 *        576
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Vector                        :   6451 *         24
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Vector index                  :   6451 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  VRF                           :      1 *        216
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  VRF bit-map                   :      3 *          8
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  VTY                           :      2 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  VTY server                    :      2 *         32
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Timer Wheel                   :      2 * (variably sized)
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Timer Wheel Slot List         :      1 *        800
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  YANG module                   :      8 *         48
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Zclient                       :      2 *       3344
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  Redistribution instance IDs   :      3 *          2
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  log thread-local buffer       :      1 *      25632
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: showing active allocations in memory group Native message allocations
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: showing active allocations in memory group logging subsystem
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  syslog target                 :      1 *         56
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: showing active allocations in memory group pimd
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  PIM interface                 :      1 *        440
Sep 30 23:33:54 host pim6d[986]: Backtrace for 15 stack frames:
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  PIM RP info                   :      1 *        152
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  PIM global state              :      1 *       1784
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  PIM SSM configuration         :      1 *          8
Sep 30 23:33:54 host frrinit.sh[986]: core_handler: memstats:  PIM Router information        :      1 *        192
Sep 30 23:33:54 host pim6d[986]: [bt 0] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/libfrr.so.0(zlog_backtrace+0x3a) [0x7fbe751f255a]
Sep 30 23:33:54 host pim6d[986]: [bt 1] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/libfrr.so.0(+0xe2cb0) [0x7fbe75206cb0]
Sep 30 23:33:54 host pim6d[986]: [bt 2] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/frrbin/pim6d(lib_interface_pim_address_family_create+0x24) [0x432f54]
Sep 30 23:33:54 host pim6d[986]: [bt 3] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/libfrr.so.0(+0xe6063) [0x7fbe7520a063]
Sep 30 23:33:54 host pim6d[986]: [bt 4] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/libfrr.so.0(nb_candidate_commit_prepare+0x162) [0x7fbe7520a9c2]
Sep 30 23:33:54 host pim6d[986]: [bt 5] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/libfrr.so.0(nb_candidate_commit+0x4b) [0x7fbe7520ab9b]
Sep 30 23:33:54 host pim6d[986]: [bt 6] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/frr/modules/grpc.so(_Z17HandleUnaryCommitP13UnaryRpcStateIN3frr13CommitRequestENS0_14CommitResponseEE+0x8ce) [0x7fbe74bd1cce]
Sep 30 23:33:54 host pim6d[986]: [bt 7] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/frr/modules/grpc.so(_ZN13UnaryRpcStateIN3frr13CommitRequestENS0_14CommitResponseEE14run_mainthreadEP5event+0x3b) [0x7fbe74be94cb]
Sep 30 23:33:54 host pim6d[986]: [bt 8] /bin/frr/3kll4xrjd489fqas2a8mr597ymrfbsdw-frr-10.1/lib/frr/modules/grpc.so(_ZN12RpcStateBase10c_callbackEP5event+0x26) [0x7fbe74bd62c6]

Additional context

No response

Checklist

  • I have searched the open issues for this bug.
  • I have not included sensitive information in this report.
@michaelinoue michaelinoue added the triage Needs further investigation label Sep 30, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
triage Needs further investigation
Projects
None yet
Development

No branches or pull requests

1 participant