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

vswitch crashes if memif resource limit/request is missing #1726

Open
milanlenco opened this issue Feb 7, 2020 · 0 comments
Open

vswitch crashes if memif resource limit/request is missing #1726

milanlenco opened this issue Feb 7, 2020 · 0 comments
Assignees
Labels

Comments

@milanlenco
Copy link
Collaborator

If a pod for which an additional memif interface is requested misses contivpp.io/memif resource limit in its definition, then Contiv-VPP vswitch will crash:

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
*   FINALIZED EVENT: Kubernetes State Change                                                                                  #4 *
*   HANDLED BY: podmanager, ipam, ipnet, sfc, policy                                                                    took 1ms *
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
*   NEW EVENT (follow-up to #4): Pod Custom Interfaces Update                                                                 #5 *
*              * Pod ID: default/cnf-ids                                                                                         *
*              * Pod Labels: map[cnf:cnf-ids]                                                                                    *
*              * pod Annotations: map[contivpp.io/custom-if:memif1/memif/stub, memif2/memif/stub                                 *
*                    contivpp.io/microservice-label:cnf-ids]                                                                     *
*   EVENT HANDLERS: ipnet, sfc                                                                                                   *
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
time="2020-02-07 13:12:24.03190" level=debug msg="Configuring custom memif interface, name: memif1, network: stub" loc="ipnet/pod.go(243)" logger=ipnet
time="2020-02-07 13:12:24.03540" level=error msg="Couldn't retrieve pod memif information, skipping memif configuration" loc="ipnet/pod.go(269)" logger=ipnet
time="2020-02-07 13:12:24.03555" level=info msg="Stopping the main event loop" loc="controller/plugin_controller.go(463)" logger=controller
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0x18d24df]
goroutine 65 [running]:
github.com/contiv/vpp/plugins/ipnet.(*IPNet).podMicroserviceMemif(0xc00048d560, 0xc000a56240, 0x0, 0xc000877a10, 0x6, 0x0, 0x1, 0x0, 0xf, 0x98)
        /root/go/src/github.com/contiv/vpp/plugins/ipnet/pod.go:878 +0xef
github.com/contiv/vpp/plugins/ipnet.(*IPNet).podCustomIfsConfig(0xc00048d560, 0xc000a56240, 0x1, 0xc000807f60, 0xc000730b40)
        /root/go/src/github.com/contiv/vpp/plugins/ipnet/pod.go:337 +0xf35
github.com/contiv/vpp/plugins/ipnet.(*IPNet).updatePodCustomIfs(0xc00048d560, 0xc0009db528, 0x7, 0xc0009db538, 0x7, 0x236f900, 0xc000930f00, 0x1, 0xc000e85568, 0x40d4e9, ...)
        /root/go/src/github.com/contiv/vpp/plugins/ipnet/update_events.go:355 +0xb8
github.com/contiv/vpp/plugins/ipnet.(*IPNet).Update(0xc00048d560, 0x23bac00, 0xc000cd59e0, 0x236f900, 0xc000930f00, 0xc000930e40, 0x2, 0x2, 0x0)
        /root/go/src/github.com/contiv/vpp/plugins/ipnet/update_events.go:146 +0x596
github.com/contiv/vpp/plugins/controller.(*Controller).processEvent(0xc0002d43c0, 0xc000930320, 0x0, 0x0)
        /root/go/src/github.com/contiv/vpp/plugins/controller/plugin_controller.go:714 +0x7d0
github.com/contiv/vpp/plugins/controller.(*Controller).receiveEvent(0xc0002d43c0, 0xc000930320, 0x5)
        /root/go/src/github.com/contiv/vpp/plugins/controller/plugin_controller.go:562 +0x2a0
github.com/contiv/vpp/plugins/controller.(*Controller).eventLoop(0xc0002d43c0)
        /root/go/src/github.com/contiv/vpp/plugins/controller/plugin_controller.go:472 +0x832
created by github.com/contiv/vpp/plugins/controller.(*Controller).Init
        /root/go/src/github.com/contiv/vpp/plugins/controller/plugin_controller.go:331 +0x576
time="2020-02-07 13:12:25.20520" level=error msg="contiv-agent terminated, stopping VPP" loc="contiv-init/main.go(466)" logger=contiv-init
time="2020-02-07 13:12:25.49099" level=debug msg=exiting loc="contiv-init/main.go(473)" logger=contiv-init

Contiv should handle this situation gracefully and just log error or something.

@milanlenco milanlenco added the bug label Feb 7, 2020
@milanlenco milanlenco self-assigned this Feb 7, 2020
@milanlenco milanlenco changed the title vswitch crashes if memif resource request is missing vswitch crashes if memif resource limit/request is missing Feb 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant