OpenAPITools / OpenAPITools/openapi-generator

Crash Observed for JSON Conversion of Enum value

Open
#14,219 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Issue: Bug
Dominant language
Java
Stars
26.8k
Forks
7.7k
PR merge metrics
PR metrics pending

Description

Thread 3 "netopeer2-serve" received signal SIGSEGV, Segmentation fault.
0x00007f79cef960e2 in summary_route_cost_modeopenconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_ospfv2_global_config_ToString ()
from /usr/local/lib/libsonic_network_management_apis.so
(gdb) bt
#0 0x00007f79cef960e2 in summary_route_cost_modeopenconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_ospfv2_global_config_ToString ()
from /usr/local/lib/libsonic_network_management_apis.so
#1 0x00007f79cef96274 in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_ospfv2_global_config_convertToJSON ()
from /usr/local/lib/libsonic_network_management_apis.so
#2 0x00007f79cef95d6f in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_ospfv2_global_convertToJSON ()
from /usr/local/lib/libsonic_network_management_apis.so
#3 0x00007f79cef92123 in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_ospfv2_convertToJSON ()
from /usr/local/lib/libsonic_network_management_apis.so
#4 0x00007f79cef839f0 in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_protocol_inner_convertToJSON ()
from /usr/local/lib/libsonic_network_management_apis.so
#5 0x00007f79cef8358f in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_protocols_convertToJSON () from /usr/local/lib/libsonic_network_management_apis.so
#6 0x00007f79cef7fd11 in openconfig_network_instance_network_instances_openconfig_network_instance_network_instances_network_instance_inner_convertToJSON () from /usr/local/lib/libsonic_network_management_apis.so
#7 0x00007f79cefbcf10 in patch_openconfig_network_instance_network_instances_network_instance_convertToJSON ()
from /usr/local/lib/libsonic_network_management_apis.so
#8 0x00007f79cf6083e4 in OpenconfigNetworkInstanceAPI_patchOpenconfigNetworkInstanceNetworkInstancesNetworkInstance () from /usr/local/lib/libsonic_network_management_apis.so
#9 0x00007f79cf95520e in restc_patch_openconfig_network_instance_network_instances_network_instance ()
from /usr/local/lib/libsonic_network_management_apis.so
#10 0x000056116e818271 in np2srv_openconfig_network_instance_network_instances_network_instance_cb (
session=0x7f79ac000b90, UNUSED_sub_id=30, UNUSED_module_name=0x56116ee05a00 "openconfig-network-instance",
xpath=0x56116e970eb0 "/openconfig-network-instance:network-instances/network-instance",
UNUSED_event=SR_EV_DONE, UNUSED_request_id=1, UNUSED_private_data=0x0)
--Type for more, q to quit, c to continue without paging--
at /home/arpit/sonic/local_netconf_server/netopeer2/src/netconf_openconfig_network_instance.c:105
#11 0x00007f79cfbc6ce5 in sr_shmsub_change_listen_process_module_events (change_subs=0x56116e8f3928,
conn=0x56116e8accc0) at /home/arpit/sonic/local_netconf_server/sysrepo/src/shm_sub.c:2667
#12 0x00007f79cfb87788 in sr_subscription_process_events (subscription=0x56116edfaa10, session=0x0,
stop_time_in=0x7f79cc8e4ad0) at /home/arpit/sonic/local_netconf_server/sysrepo/src/sysrepo.c:4091
#13 0x00007f79cfbc9899 in sr_shmsub_listen_thread (arg=0x56116edfaa10)
at /home/arpit/sonic/local_netconf_server/sysrepo/src/shm_sub.c:3783
#14 0x00007f79cfd68fa3 in start_thread (arg=) at pthread_create.c:486
#15 0x00007f79ce9674cf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the stack trace and the generated summary_route_cost_mode...ToString and convertToJSON functions in libsonic_network_management_apis.so. Trace the call from netconf_openconfig_network_instance.c:105 through the OpenAPI-generated JSON conversion path, then reproduce the enum conversion crash. Done means the same conversion no longer causes SIGSEGV.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, java
Domain
backend-api-design, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.