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

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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant