Skip to content
New issue

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

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

Already on GitHub? # to your account

Atom misses some files in C #161

Open
aryan-rajoria opened this issue Oct 12, 2024 · 0 comments
Open

Atom misses some files in C #161

aryan-rajoria opened this issue Oct 12, 2024 · 0 comments
Assignees

Comments

@aryan-rajoria
Copy link

aryan-rajoria commented Oct 12, 2024

Atom misses to add functions in C for files that only have static functions.

We can see this when running files in chennai REPL, after importing app.atom file using importAtom().
Expected:
Expected to see files

rdports.c
rdkafka_range_assignor.c
rdunittest.c
rdkafka_sticky_assignor.c
rdkafka_msgset_writer.c
rdlist.c
rdkafka_msgset_reader.c

in files section as they contain some internal functions.

Actual behavior:
Does not include these files.
For example:
rdkafka_sticky_assignor.c contains function static int ConsumerGenerationPair_cmp_generation(). We do not see this function when running app.methods.toList or its associated file. This function however is detected by blint when running on librdkafka's compiled binary librdkafka.so

┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━┓
┃ File Name                           ┃ Method Count ┃
┡━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╇━━━━━━━━━━━━━━┩
│ <includes>                          │ 1            │
│ win32/wintime.h                     │ 2            │
│ win32/wingetopt.h                   │ 5            │
│ win32/wingetopt.c                   │ 14           │
│ src/win32_config.h                  │ 1            │
│ src/tinycthread_extra.h             │ 12           │
│ src/tinycthread_extra.c             │ 12           │
│ src/tinycthread.h                   │ 25           │
│ src/tinycthread.c                   │ 26           │
│ src/snappy_compat.h                 │ 1            │
│ src/snappy.h                        │ 10           │
│ src/snappy.c                        │ 57           │
│ src/regexp.h                        │ 6            │
│ src/regexp.c                        │ 47           │
│ src/rdxxhash.h                      │ 23           │
│ src/rdxxhash.c                      │ 48           │
│ src/rdwin32.h                       │ 10           │
│ src/rdvarint.h                      │ 7            │
│ src/rdvarint.c                      │ 3            │
│ src/rdtypes.h                       │ 3            │
│ src/rdtime.h                        │ 1            │
│ src/rdsysqueue.h                    │ 1            │
│ src/rdstring.h                      │ 16           │
│ src/rdstring.c                      │ 18           │
│ src/rdsignal.h                      │ 5            │
│ src/rdregex.h                       │ 5            │
│ src/rdregex.c                       │ 5            │
│ src/rdrand.h                        │ 3            │
│ src/rdrand.c                        │ 3            │
│ src/rdposix.h                       │ 5            │
│ src/rdports.h                       │ 2            │
│ src/rdmurmur2.h                     │ 3            │
│ src/rdmurmur2.c                     │ 3            │
│ src/rdmap.h                         │ 14           │
│ src/rdmap.c                         │ 26           │
│ src/rdlog.h                         │ 4            │
│ src/rdlog.c                         │ 4            │
│ src/rdlist.h                        │ 38           │
│ src/rdkafka_zstd.h                  │ 3            │
│ src/rdkafka_zstd.c                  │ 3            │
│ src/rdkafka_txnmgr.h                │ 9            │
│ src/rdkafka_txnmgr.c                │ 54           │
│ src/rdkafka_transport_int.h         │ 3            │
│ src/rdkafka_transport.h             │ 15           │
│ src/rdkafka_transport.c             │ 27           │
│ src/rdkafka_topic.h                 │ 29           │
│ src/rdkafka_topic.c                 │ 43           │
│ src/rdkafka_timer.h                 │ 12           │
│ src/rdkafka_timer.c                 │ 20           │
│ src/rdkafka_subscription.c          │ 14           │
│ src/rdkafka_ssl.h                   │ 12           │
│ src/rdkafka_ssl.c                   │ 27           │
│ src/rdkafka_sasl_win32.c            │ 11           │
│ src/rdkafka_sasl_scram.c            │ 20           │
│ src/rdkafka_sasl_plain.c            │ 4            │
│ src/rdkafka_sasl_oauthbearer_oidc.h │ 3            │
│ src/rdkafka_sasl_oauthbearer_oidc.c │ 11           │
│ src/rdkafka_sasl_oauthbearer.h      │ 5            │
│ src/rdkafka_sasl_oauthbearer.c      │ 37           │
│ src/rdkafka_sasl_int.h              │ 3            │
│ src/rdkafka_sasl_cyrus.c            │ 21           │
│ src/rdkafka_sasl.h                  │ 13           │
│ src/rdkafka_sasl.c                  │ 19           │
│ src/rdkafka_roundrobin_assignor.c   │ 3            │
│ src/rdkafka_request.h               │ 52           │
│ src/rdkafka_request.c               │ 69           │
│ src/rdkafka_queue.h                 │ 63           │
│ src/rdkafka_queue.c                 │ 37           │
│ src/rdkafka_protocol.h              │ 1            │
│ src/rdkafka_proto.h                 │ 23           │
│ src/rdkafka_plugin.h                │ 2            │
│ src/rdkafka_plugin.c                │ 6            │
│ src/rdkafka_pattern.h               │ 13           │
│ src/rdkafka_pattern.c               │ 13           │
│ src/rdkafka_partition.h             │ 111          │
│ src/rdkafka_partition.c             │ 132          │
│ src/rdkafka_op.h                    │ 26           │
│ src/rdkafka_op.c                    │ 23           │
│ src/rdkafka_offset.h                │ 12           │
│ src/rdkafka_offset.c                │ 38           │
│ src/rdkafka_msgset.h                │ 8            │
│ src/rdkafka_msgbatch.h              │ 5            │
│ src/rdkafka_msg.h                   │ 42           │
│ src/rdkafka_msg.c                   │ 58           │
│ src/rdkafka_mock_handlers.c         │ 25           │
│ src/rdkafka_mock_cgrp.c             │ 26           │
│ src/rdkafka_mock.h                  │ 30           │
│ src/rdkafka_mock.c                  │ 99           │
│ src/rdkafka_metadata_cache.c        │ 28           │
│ src/rdkafka_metadata.h              │ 43           │
│ src/rdkafka_metadata.c              │ 32           │
│ src/rdkafka_lz4.h                   │ 3            │
│ src/rdkafka_lz4.c                   │ 5            │
│ src/rdkafka_interceptor.h           │ 20           │
│ src/rdkafka_interceptor.c           │ 40           │
│ src/rdkafka_int.h                   │ 32           │
│ src/rdkafka_idempotence.h           │ 15           │
│ src/rdkafka_idempotence.c           │ 20           │
│ src/rdkafka_header.h                │ 2            │
│ src/rdkafka_header.c                │ 12           │
│ src/rdkafka_fetcher.h               │ 4            │
│ src/rdkafka_fetcher.c               │ 11           │
│ src/rdkafka_feature.h               │ 6            │
│ src/rdkafka_feature.c               │ 8            │
│ src/rdkafka_event.h                 │ 1            │
│ src/rdkafka_event.c                 │ 38           │
│ src/rdkafka_error.h                 │ 11           │
│ src/rdkafka_error.c                 │ 19           │
│ src/rdkafka_coord.h                 │ 9            │
│ src/rdkafka_coord.c                 │ 20           │
│ src/rdkafka_confval.h               │ 8            │
│ src/rdkafka_conf.h                  │ 20           │
│ src/rdkafka_conf.c                  │ 90           │
│ src/rdkafka_cgrp.h                  │ 22           │
│ src/rdkafka_cgrp.c                  │ 130          │
│ src/rdkafka_cert.h                  │ 3            │
│ src/rdkafka_cert.c                  │ 4            │
│ src/rdkafka_buf.h                   │ 54           │
│ src/rdkafka_buf.c                   │ 19           │
│ src/rdkafka_broker.h                │ 55           │
│ src/rdkafka_broker.c                │ 115          │
│ src/rdkafka_background.c            │ 5            │
│ src/rdkafka_aux.h                   │ 19           │
│ src/rdkafka_aux.c                   │ 28           │
│ src/rdkafka_assignor.h              │ 31           │
│ src/rdkafka_assignor.c              │ 37           │
│ src/rdkafka_assignment.h            │ 11           │
│ src/rdkafka_assignment.c            │ 16           │
│ src/rdkafka_admin.h                 │ 9            │
│ src/rdkafka_admin.c                 │ 336          │
│ src/rdkafka.h                       │ 460          │
│ src/rdkafka.c                       │ 119          │
│ src/rdinterval.h                    │ 11           │
│ src/rdhttp.h                        │ 6            │
│ src/rdhttp.c                        │ 18           │
│ src/rdhdrhistogram.h                │ 11           │
│ src/rdhdrhistogram.c                │ 37           │
│ src/rdgz.h                          │ 2            │
│ src/rdgz.c                          │ 2            │
│ src/rdfnv1a.h                       │ 3            │
│ src/rdfnv1a.c                       │ 3            │
│ src/rdfloat.h                       │ 1            │
│ src/rdendian.h                      │ 1            │
│ src/rddl.h                          │ 4            │
│ src/rddl.c                          │ 6            │
│ src/rdcrc32.h                       │ 6            │
│ src/rdcrc32.c                       │ 2            │
│ src/rdbuf.h                         │ 36           │
│ src/rdbuf.c                         │ 57           │
│ src/rdbase64.h                      │ 4            │
│ src/rdbase64.c                      │ 5            │
│ src/rdavl.h                         │ 7            │
│ src/rdavl.c                         │ 11           │
│ src/rdavg.h                         │ 1            │
│ src/rdatomic.h                      │ 1            │
│ src/rdaddr.h                        │ 8            │
│ src/rdaddr.c                        │ 5            │
│ src/rd.h                            │ 14           │
│ src/queue.h                         │ 3            │
│ src/lz4hc.h                         │ 33           │
│ src/lz4hc.c                         │ 62           │
│ src/lz4frame_static.h               │ 1            │
│ src/lz4frame.h                      │ 28           │
│ src/lz4frame.c                      │ 47           │
│ src/lz4.h                           │ 45           │
│ src/lz4.c                           │ 92           │
│ src/crc32c.h                        │ 4            │
│ src/crc32c.c                        │ 6            │
│ src/cJSON.h                         │ 79           │
│ src/cJSON.c                         │ 119          │
│ src-cpp/TopicPartitionImpl.cpp      │ 5            │
│ src-cpp/TopicImpl.cpp               │ 5            │
│ src-cpp/rdkafkacpp_int.h            │ 1            │
│ src-cpp/rdkafkacpp.h                │ 1            │
│ src-cpp/RdKafka.cpp                 │ 8            │
│ src-cpp/QueueImpl.cpp               │ 7            │
│ src-cpp/ProducerImpl.cpp            │ 9            │
│ src-cpp/MetadataImpl.cpp            │ 24           │
│ src-cpp/MessageImpl.cpp             │ 2            │
│ src-cpp/KafkaConsumerImpl.cpp       │ 19           │
│ src-cpp/HeadersImpl.cpp             │ 4            │
│ src-cpp/HandleImpl.cpp              │ 23           │
│ src-cpp/ConsumerImpl.cpp            │ 16           │
│ src-cpp/ConfImpl.cpp                │ 4            │
│ packaging/cp/check_features.c       │ 1            │
│ mklove/modules/configure.cc         │ 1            │
│ /usr/include/stdio.h                │ 1            │
└─────────────────────────────────────┴──────────────┘

Associated files:
blint sbom which contains the "internal:functions" deep_blint_bom.json
Json dump of atom.method.toList atomMethod.json

@aryan-rajoria aryan-rajoria changed the title Atom misses files that have only static functions. Atom misses some files in C Oct 12, 2024
@aryan-rajoria aryan-rajoria self-assigned this Oct 12, 2024
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant