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

Unable to bundle sources to be send from a Linux Environment #2186

Closed
1 of 8 tasks
jopheno opened this issue Oct 18, 2024 · 24 comments
Closed
1 of 8 tasks

Unable to bundle sources to be send from a Linux Environment #2186

jopheno opened this issue Oct 18, 2024 · 24 comments

Comments

@jopheno
Copy link

jopheno commented Oct 18, 2024

CLI Version

sentry-cli 2.37.0

Operating System and Architecture

  • macOS (arm64)
  • macOS (x86_64)
  • Linux (i686)
  • Linux (x86_64)
  • Linux (armv7)
  • Linux (aarch64)
  • Windows (i686)
  • Windows (x86_64)

Operating System Version

Ubuntu 22.04.3 LTS

Link to reproduction repository

No response

CLI Command

sentry-cli --log-level=debug debug-files bundle-sources .

Exact Reproduction Steps

Using a native C++ application (I used GDB to check if symbols were missing or if the source path was somehow wrong, but gdb was able to see all the sources just fine...)

Expected Results

It should correctly generate the source bundle debug files that would be uploaded to the sentry backend, but it didn't work;

Actual Results

jopheno@lnx-tlm-dev:~/repo/tlm-server$ ./tools/sentry-cli --log-level=debug debug-files bundle-sources .
  INFO    2024-10-18 21:44:48.306920627 +00:00 Loaded config from /home/jopheno/repo/tlm-server/.sentryclirc
  DEBUG   2024-10-18 21:44:48.307030067 +00:00 sentry-cli version: 2.37.0, platform: "linux", architecture: "x86_64"
  INFO    2024-10-18 21:44:48.308006929 +00:00 sentry-cli was invoked with the following command line: "./tools/sentry-cli" "--log-level=debug" "debug-files" "bundle-sources" "."
error: No such device (os error 19)
  INFO    2024-10-18 21:44:48.310324091 +00:00 Skipping update nagger update check

I am unsure if I am using it wrongly, but I have no idea what No such device means, if I indeed add a path that doesn't exists, it does say No such file or directory, but passing the executable, or the path where the executable is, or any path at all grants me with No such device (os error 19)

Even tried adding a symbolic link so that I could execute using sentry-cli directly instead of having to pass the whole repository; Got no results;

Logs

jopheno@lnx-tlm-dev:~/repo/tlm-server$ ./tools/sentry-cli --log-level=debug debug-files bundle-sources .
  INFO    2024-10-18 21:44:48.306920627 +00:00 Loaded config from /home/jopheno/repo/tlm-server/.sentryclirc
  DEBUG   2024-10-18 21:44:48.307030067 +00:00 sentry-cli version: 2.37.0, platform: "linux", architecture: "x86_64"
  INFO    2024-10-18 21:44:48.308006929 +00:00 sentry-cli was invoked with the following command line: "./tools/sentry-cli" "--log-level=debug" "debug-files" "bundle-sources" "."
error: No such device (os error 19)
  INFO    2024-10-18 21:44:48.310324091 +00:00 Skipping update nagger update check
@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Oct 18, 2024
@szokeasaurusrex
Copy link
Member

szokeasaurusrex commented Oct 21, 2024

@jopheno I am not really sure where this error is coming from. Could you perhaps try uploading your debug files using this command, instead:

sentry-cli debug-files upload --include-sources /path/to/files

When using the --include-sources flag with debug-files upload, the Sentry CLI automatically creates the source bundles when uploading the debug files, so you do not need to call sentry-cli debug-files bundle-sources.

Please let me know whether this suggestion fixes your problem.

@jopheno
Copy link
Author

jopheno commented Oct 23, 2024

@szokeasaurusrex That I had already tried before, it works, and uploads just fine, but no sources are included... The main issue is that the sources are not being sent so when looking for the backtraces on sentry dashboard, it just doesn't work... On windows it works out of the box once it uploads the .pdb file, but on Linux, it doesn't work from the ELF as, I guess, it was supposed to...

Idk where the other message went, but I also received on my email the following so I tried it out:

Image

jopheno@lnx-tlm-dev:~/repo/sentry-cli-2.38.0/sentry-cli-2.38.0$ RUST_BACKTRACE=1 cargo run -- --log-level=debug debug-files bundle-sources /home/jopheno/repo/tlm-server/
    Finished `dev` profile [unoptimized + debuginfo] target(s) in 0.21s
     Running `target/debug/sentry-cli --log-level=debug debug-files bundle-sources /home/jopheno/repo/tlm-server/`
  INFO    2024-10-23 15:17:21.356066126 +00:00 Loaded config from /home/jopheno/repo/sentry-cli-2.38.0/sentry-cli-2.38.0/.sentryclirc
  DEBUG   2024-10-23 15:17:21.356375511 +00:00 sentry-cli version: 2.38.0, platform: "linux", architecture: "x86_64"
  INFO    2024-10-23 15:17:21.359209975 +00:00 sentry-cli was invoked with the following command line: "target/debug/sentry-cli" "--log-level=debug" "debug-files" "bundle-sources" "/home/jopheno/repo/tlm-server/"
error: No such device (os error 19)

Stack backtrace:
   0: anyhow::error::<impl anyhow::Error>::new
             at /home/jopheno/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anyhow-1.0.86/src/backtrace.rs:27:14
   1: core::ops::function::FnOnce::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:250:5
   2: core::result::Result<T,E>::map_err
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/result.rs:854:27
   3: sentry_cli::utils::dif::DifFile::try_open
             at ./src/utils/dif.rs:220:20
   4: sentry_cli::utils::dif::DifFile::open_path
             at ./src/utils/dif.rs:260:21
   5: sentry_cli::commands::debug_files::bundle_sources::execute
             at ./src/commands/debug_files/bundle_sources.rs:76:29
   6: sentry_cli::commands::debug_files::execute
             at ./src/commands/debug_files/mod.rs:47:24
   7: sentry_cli::commands::run_command
             at ./src/commands/mod.rs:234:26
   8: sentry_cli::commands::execute
             at ./src/commands/mod.rs:319:11
   9: sentry_cli::commands::main
             at ./src/commands/mod.rs:355:27
  10: sentry_cli::main
             at ./src/main.rs:8:5
  11: core::ops::function::FnOnce::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:250:5
  12: std::sys::backtrace::__rust_begin_short_backtrace
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/sys/backtrace.rs:154:18
  13: std::rt::lang_start::{{closure}}
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/rt.rs:164:18
  14: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/core/src/ops/function.rs:284:13
  15: std::panicking::try::do_call
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:554:40
  16: std::panicking::try
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:518:19
  17: std::panic::catch_unwind
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panic.rs:345:14
  18: std::rt::lang_start_internal::{{closure}}
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/rt.rs:143:48
  19: std::panicking::try::do_call
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:554:40
  20: std::panicking::try
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panicking.rs:518:19
  21: std::panic::catch_unwind
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/panic.rs:345:14
  22: std::rt::lang_start_internal
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/rt.rs:143:20
  23: std::rt::lang_start
             at /rustc/f6e511eec7342f59a25f7c0534f1dbea00d01b14/library/std/src/rt.rs:163:17
  24: main
  25: __libc_start_call_main
             at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  26: __libc_start_main_impl
             at ./csu/../csu/libc-start.c:392:3
  27: _start
  INFO    2024-10-23 15:17:21.511170255 +00:00 Running update nagger update check
  DEBUG   2024-10-23 15:17:21.511780978 +00:00 request GET https://release-registry.services.sentry.io/apps/sentry-cli/latest
  DEBUG   2024-10-23 15:17:21.511830951 +00:00 retry number 0, max retries: 0
  DEBUG   2024-10-23 15:17:21.543588673 +00:00 > GET /apps/sentry-cli/latest HTTP/1.1
  DEBUG   2024-10-23 15:17:21.543668299 +00:00 > Host: release-registry.services.sentry.io
  DEBUG   2024-10-23 15:17:21.543704205 +00:00 > Accept: */*
  DEBUG   2024-10-23 15:17:21.543732546 +00:00 > Connection: TE
  DEBUG   2024-10-23 15:17:21.543759377 +00:00 > TE: gzip
  DEBUG   2024-10-23 15:17:21.543810713 +00:00 > User-Agent: sentry-cli/2.38.0
  DEBUG   2024-10-23 15:17:21.572101511 +00:00 < HTTP/1.1 200 OK
  DEBUG   2024-10-23 15:17:21.572169369 +00:00 < content-type: application/json
  DEBUG   2024-10-23 15:17:21.572217008 +00:00 < Content-Length: 10402
  DEBUG   2024-10-23 15:17:21.572258735 +00:00 < access-control-allow-origin: *
  DEBUG   2024-10-23 15:17:21.572296856 +00:00 < x-from-cache: 1
  DEBUG   2024-10-23 15:17:21.572348288 +00:00 < x-envoy-upstream-service-time: 2
  DEBUG   2024-10-23 15:17:21.572392531 +00:00 < date: Wed, 23 Oct 2024 15:17:21 GMT
  DEBUG   2024-10-23 15:17:21.572429695 +00:00 < server: envoy
  DEBUG   2024-10-23 15:17:21.572464863 +00:00 < Via: 1.1 google
  DEBUG   2024-10-23 15:17:21.572503578 +00:00 < Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
  DEBUG   2024-10-23 15:17:21.572749189 +00:00 response status: 200
  INFO    2024-10-23 15:17:21.572797204 +00:00 Looking for file named: sentry-cli-Linux-x86_64
  DEBUG   2024-10-23 15:17:21.572825284 +00:00 body: {"canonical":"app:sentry-cli","created_at":"2024-10-22T14:47:53.794Z","file_urls":{"sentry-cli-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-2.38.0.tgz","sentry-cli-Darwin-arm64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-arm64","sentry-cli-Darwin-universal":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-universal","sentry-cli-Darwin-x86_64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-x86_64","sentry-cli-Linux-aarch64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-aarch64","sentry-cli-Linux-armv7":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-armv7","sentry-cli-Linux-i686":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-i686","sentry-cli-Linux-x86_64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-x86_64","sentry-cli-Windows-i686.exe":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Windows-i686.exe","sentry-cli-Windows-x86_64.exe":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Windows-x86_64.exe","sentry-cli-darwin-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-darwin-2.38.0.tgz","sentry-cli-linux-arm-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-arm-2.38.0.tgz","sentry-cli-linux-arm64-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-arm64-2.38.0.tgz","sentry-cli-linux-i686-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-i686-2.38.0.tgz","sentry-cli-linux-x64-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-x64-2.38.0.tgz","sentry-cli-win32-i686-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-win32-i686-2.38.0.tgz","sentry-cli-win32-x64-2.38.0.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-win32-x64-2.38.0.tgz","sentry_cli-2.38.0-py3-none-macosx_10_15_x86_64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_10_15_x86_64.whl","sentry_cli-2.38.0-py3-none-macosx_11_0_arm64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_11_0_arm64.whl","sentry_cli-2.38.0-py3-none-macosx_11_0_universal2.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_11_0_universal2.whl","sentry_cli-2.38.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl","sentry_cli-2.38.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl","sentry_cli-2.38.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl","sentry_cli-2.38.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl","sentry_cli-2.38.0-py3-none-win32.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-win32.whl","sentry_cli-2.38.0-py3-none-win_amd64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-win_amd64.whl","sentry_cli-2.38.0.tar.gz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0.tar.gz"},"files":{"sentry-cli-2.38.0.tgz":{"checksums":{"sha256-hex":"a397823452b37316f704170891a7557ca0811bfce07e90596627f9ebc69d6f8b"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-2.38.0.tgz"},"sentry-cli-Darwin-arm64":{"checksums":{"sha256-hex":"f36f7559ad0ee9d0b93a593f276a468877729d38fb0b0caf6183537facb96f0e"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-arm64"},"sentry-cli-Darwin-universal":{"checksums":{"sha256-hex":"7ebe813fa13d84fde825d27f2914ee7b0de9b9f3e18c688cce282d3cf11445c7"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-universal"},"sentry-cli-Darwin-x86_64":{"checksums":{"sha256-hex":"3bbe145c0bd6d771fe76b7f79f774c1afd571818513b22bbce332a5499c93abf"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Darwin-x86_64"},"sentry-cli-Linux-aarch64":{"checksums":{"sha256-hex":"250b194c5a79fc620079575ca4421381473683f5116393b0f6436032e39b943e"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-aarch64"},"sentry-cli-Linux-armv7":{"checksums":{"sha256-hex":"7e0624f5e5772da47ca74f473acf82785f6104d6e3db5c5685dbd4b1105e436e"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-armv7"},"sentry-cli-Linux-i686":{"checksums":{"sha256-hex":"26bae7c27a0ab72691f30cd05ad5496585ff6622f2d3561adb5a3bfbbcc80cee"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-i686"},"sentry-cli-Linux-x86_64":{"checksums":{"sha256-hex":"93348eeffec53bbcc0ca7175c342edf507bda76805938e9ecd73825e01f6533d"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Linux-x86_64"},"sentry-cli-Windows-i686.exe":{"checksums":{"sha256-hex":"2f4e3c018c4a45c3ef843b752d5cc1d5c4636fa1301dc144f4a1db2a8372a499"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Windows-i686.exe"},"sentry-cli-Windows-x86_64.exe":{"checksums":{"sha256-hex":"81d9afd6155ba009bcdead11c599e8ab782ff1b1dda02ef028c3f141acff4782"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-Windows-x86_64.exe"},"sentry-cli-darwin-2.38.0.tgz":{"checksums":{"sha256-hex":"c53b0aeb3beff96a1c735558d9184e270b89ef2016e8b86c20608dcc18ab8c48"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-darwin-2.38.0.tgz"},"sentry-cli-linux-arm-2.38.0.tgz":{"checksums":{"sha256-hex":"fa275aa3f0590f87411cdecb5c968ad9a12599656a3f0582d865bb54ff09e70b"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-arm-2.38.0.tgz"},"sentry-cli-linux-arm64-2.38.0.tgz":{"checksums":{"sha256-hex":"ded29e315682c629faeababc05d6186cf3b352f177f420ea9af78e8e21d7c9fb"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-arm64-2.38.0.tgz"},"sentry-cli-linux-i686-2.38.0.tgz":{"checksums":{"sha256-hex":"a69af141f6b97ae1082ae8b85891add525a529617e55d2de78e0debed57806a0"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-i686-2.38.0.tgz"},"sentry-cli-linux-x64-2.38.0.tgz":{"checksums":{"sha256-hex":"5fa7256009e7e4cca492a5f5563669179940cc2f5891a54b29e59de9e2e25c41"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-linux-x64-2.38.0.tgz"},"sentry-cli-win32-i686-2.38.0.tgz":{"checksums":{"sha256-hex":"353d9a211b816aea6e9e30811864fd1e4f10bf810030caad34abaf6b7eb54fdd"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-win32-i686-2.38.0.tgz"},"sentry-cli-win32-x64-2.38.0.tgz":{"checksums":{"sha256-hex":"b3e3468f749f373af29e28c2aac11d94ec2f6b7a5b5575084fd279bfad572405"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry-cli-win32-x64-2.38.0.tgz"},"sentry_cli-2.38.0-py3-none-macosx_10_15_x86_64.whl":{"checksums":{"sha256-hex":"327cb3805774e2f785ffc140ba508bd50c3bcfbccb6014640fe0ee7b6e5b9a40"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_10_15_x86_64.whl"},"sentry_cli-2.38.0-py3-none-macosx_11_0_arm64.whl":{"checksums":{"sha256-hex":"59d5db396b7f6079e26543075423685bcc565782fdd6a124d698b4bc49a8f093"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_11_0_arm64.whl"},"sentry_cli-2.38.0-py3-none-macosx_11_0_universal2.whl":{"checksums":{"sha256-hex":"7707b842d3f72f04950dc74e953b2d69a508af5f842ac4c2df75b4d25b029265"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-macosx_11_0_universal2.whl"},"sentry_cli-2.38.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl":{"checksums":{"sha256-hex":"d287e8588c5dc3c0cf0f4bae50ec3ec0e2b728eee59a62ffca00df4f12ac9474"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl"},"sentry_cli-2.38.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl":{"checksums":{"sha256-hex":"ce427c883a7ca836ab8ed2d08c39dba90a1d7e4b97c58aa412ef404e310c5557"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl"},"sentry_cli-2.38.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl":{"checksums":{"sha256-hex":"03ae9522a842011798508b01c4b0e4e8128bd3697e2569839b670817a77aa772"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl"},"sentry_cli-2.38.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl":{"checksums":{"sha256-hex":"5a0d85574a21e538ec008b7c14ddc5061980e5147ace591f563382d8d0459e2b"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl"},"sentry_cli-2.38.0-py3-none-win32.whl":{"checksums":{"sha256-hex":"f968b3df8ee9c92741ebb0a64d1340aa0e0258274169d355c069abd07ba64ab0"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-win32.whl"},"sentry_cli-2.38.0-py3-none-win_amd64.whl":{"checksums":{"sha256-hex":"35d6633efa2aa930e53f9df641bb74b0452dd39e3514bdb567ef73abeb1af276"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0-py3-none-win_amd64.whl"},"sentry_cli-2.38.0.tar.gz":{"checksums":{"sha256-hex":"5cdc29133df6be2a04d6f82fb84e0d77be714508bd22618a52ac0a3e9960dd88"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.0/sentry_cli-2.38.0.tar.gz"}},"main_docs_url":"https://docs.sentry.io/learn/cli","name":"Sentry CLI","repo_url":"https://github.com/getsentry/sentry-cli","version":"2.38.0"}

  INFO    2024-10-23 15:17:21.574038665 +00:00 Found asset sentry-cli-linux-x64-2.38.0.tgz
  INFO    2024-10-23 15:17:21.574080016 +00:00 Found asset sentry-cli-Darwin-x86_64
  INFO    2024-10-23 15:17:21.574096534 +00:00 Found asset sentry-cli-Linux-aarch64
  INFO    2024-10-23 15:17:21.574111325 +00:00 Found asset sentry-cli-Linux-i686
  INFO    2024-10-23 15:17:21.574128185 +00:00 Found asset sentry-cli-Windows-i686.exe
  INFO    2024-10-23 15:17:21.574146100 +00:00 Found asset sentry-cli-linux-i686-2.38.0.tgz
  INFO    2024-10-23 15:17:21.574163514 +00:00 Found asset sentry-cli-win32-i686-2.38.0.tgz
  INFO    2024-10-23 15:17:21.574181048 +00:00 Found asset sentry-cli-win32-x64-2.38.0.tgz
  INFO    2024-10-23 15:17:21.574198618 +00:00 Found asset sentry_cli-2.38.0-py3-none-macosx_11_0_universal2.whl
  INFO    2024-10-23 15:17:21.574216513 +00:00 Found asset sentry-cli-Darwin-arm64
  INFO    2024-10-23 15:17:21.574234378 +00:00 Found asset sentry-cli-darwin-2.38.0.tgz
  INFO    2024-10-23 15:17:21.574251962 +00:00 Found asset sentry-cli-Linux-x86_64

I compiled from sources and ran using the cargo run pointing the path where the application executable is (which is compiled with symbols) the source code is also beneath this path inside folders; gdb can track the source files just fine on my executable so I don't think it is neither permissions or cuz the executable source path is wrong;

Using the command you passed earlier it didn't send any new information, on the sentry dashboard it still only sends symtab and unwind, but not sources;

Image

Image

It also sends the binary as shown above, again, no sources included...

Also by following some tutorial I also created a ELF file with only debug information to try it out:
Image

That file was done using the following command: objcopy --only-keep-debug --compress-debug-sections=zlib tfs tfs.debug

Finally I also did: jopheno@lnx-tlm-dev:~/repo/sentry-cli-2.38.0/sentry-cli-2.38.0$ cargo install --path . In order to install on path the new version compiled from sources, cuz it seamed like the folder being picked was being the executable, so I wanted to try without using cargo run, but then the backtrace didn't work probably I have to add some sort of flag to force compiling with symbols so that the backtrace would work? anyway leaving the log here as well:

Image

I tried on the project main folder and inside the build folder, using tree I extracted the folder structure:

jopheno@lnx-tlm-dev:~/repo/tlm-server$ tree
.
├── CMakeLists.txt
├── Dockerfile
├── LICENSE
├── README.md
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   │   ├── 3.22.1
│   │   │   ├── CMakeCCompiler.cmake
│   │   │   ├── CMakeCXXCompiler.cmake
│   │   │   ├── CMakeDetermineCompilerABI_C.bin
│   │   │   ├── CMakeDetermineCompilerABI_CXX.bin
│   │   │   ├── CMakeSystem.cmake
│   │   │   ├── CompilerIdC
│   │   │   │   ├── CMakeCCompilerId.c
│   │   │   │   ├── a.out
│   │   │   │   └── tmp
│   │   │   └── CompilerIdCXX
│   │   │       ├── CMakeCXXCompilerId.cpp
│   │   │       ├── a.out
│   │   │       └── tmp
│   │   ├── CMakeDirectoryInformation.cmake
│   │   ├── CMakeOutput.log
│   │   ├── CMakeRuleHashes.txt
│   │   ├── CMakeTmp
│   │   ├── Makefile.cmake
│   │   ├── Makefile2
│   │   ├── TargetDirectories.txt
│   │   ├── check_git.dir
│   │   │   ├── DependInfo.cmake
│   │   │   ├── build.make
│   │   │   ├── cmake_clean.cmake
│   │   │   ├── compiler_depend.make
│   │   │   ├── compiler_depend.ts
│   │   │   └── progress.make
│   │   ├── cmake.check_cache
│   │   ├── progress.marks
│   │   └── tfs.dir
│   │       ├── DependInfo.cmake
│   │       ├── build.make
│   │       ├── cmake_clean.cmake
│   │       ├── cmake_pch.hxx
│   │       ├── cmake_pch.hxx.cxx
│   │       ├── cmake_pch.hxx.gch
│   │       ├── cmake_pch.hxx.gch.d
│   │       ├── compiler_depend.internal
│   │       ├── compiler_depend.make
│   │       ├── compiler_depend.ts
│   │       ├── depend.make
│   │       ├── flags.make
│   │       ├── link.txt
│   │       ├── progress.make
│   │       └── src
│   │           ├── awarerange.cpp.o
│   │           ├── awarerange.cpp.o.d
│   │           ├── ban.cpp.o
│   │           ├── ban.cpp.o.d
│   │           ├── behaviour.cpp.o
│   │           ├── behaviour.cpp.o.d
│   │           ├── configmanager.cpp.o
│   │           ├── configmanager.cpp.o.d
│   │           ├── connection.cpp.o
│   │           ├── connection.cpp.o.d
│   │           ├── container.cpp.o
│   │           ├── container.cpp.o.d
│   │           ├── crashcontrol.cpp.o
│   │           ├── crashcontrol.cpp.o.d
│   │           ├── creature.cpp.o
│   │           ├── creature.cpp.o.d
│   │           ├── database.cpp.o
│   │           ├── database.cpp.o.d
│   │           ├── databasemanager.cpp.o
│   │           ├── databasemanager.cpp.o.d
│   │           ├── databasetasks.cpp.o
│   │           ├── databasetasks.cpp.o.d
│   │           ├── entity.cpp.o
│   │           ├── entity.cpp.o.d
│   │           ├── events.cpp.o
│   │           ├── events.cpp.o.d
│   │           ├── fileloader.cpp.o
│   │           ├── fileloader.cpp.o.d
│   │           ├── filestream.cpp.o
│   │           ├── filestream.cpp.o.d
│   │           ├── game.cpp.o
│   │           ├── game.cpp.o.d
│   │           ├── groups.cpp.o
│   │           ├── groups.cpp.o.d
│   │           ├── httptasks.cpp.o
│   │           ├── httptasks.cpp.o.d
│   │           ├── iologindata.cpp.o
│   │           ├── iologindata.cpp.o.d
│   │           ├── item.cpp.o
│   │           ├── item.cpp.o.d
│   │           ├── itemcontainer.cpp.o
│   │           ├── itemcontainer.cpp.o.d
│   │           ├── itemtype.cpp.o
│   │           ├── itemtype.cpp.o.d
│   │           ├── logging
│   │           │   ├── log_with_spd_log.cpp.o
│   │           │   └── log_with_spd_log.cpp.o.d
│   │           ├── luanetworkinterface.cpp.o
│   │           ├── luanetworkinterface.cpp.o.d
│   │           ├── luascript.cpp.o
│   │           ├── luascript.cpp.o.d
│   │           ├── mail.cpp.o
│   │           ├── mail.cpp.o.d
│   │           ├── mailtasks.cpp.o
│   │           ├── mailtasks.cpp.o.d
│   │           ├── main.cpp.o
│   │           ├── main.cpp.o.d
│   │           ├── map.cpp.o
│   │           ├── map.cpp.o.d
│   │           ├── mapitem.cpp.o
│   │           ├── mapitem.cpp.o.d
│   │           ├── mapitemtype.cpp.o
│   │           ├── mapitemtype.cpp.o.d
│   │           ├── monster.cpp.o
│   │           ├── monster.cpp.o.d
│   │           ├── monstertemplate.cpp.o
│   │           ├── monstertemplate.cpp.o.d
│   │           ├── networkmessage.cpp.o
│   │           ├── networkmessage.cpp.o.d
│   │           ├── outputmessage.cpp.o
│   │           ├── outputmessage.cpp.o.d
│   │           ├── pathfinding.cpp.o
│   │           ├── pathfinding.cpp.o.d
│   │           ├── pch.cpp.o
│   │           ├── pch.cpp.o.d
│   │           ├── platform.cpp.o
│   │           ├── platform.cpp.o.d
│   │           ├── player.cpp.o
│   │           ├── player.cpp.o.d
│   │           ├── playerloader.cpp.o
│   │           ├── playerloader.cpp.o.d
│   │           ├── position.cpp.o
│   │           ├── position.cpp.o.d
│   │           ├── protocol.cpp.o
│   │           ├── protocol.cpp.o.d
│   │           ├── protocolgame.cpp.o
│   │           ├── protocolgame.cpp.o.d
│   │           ├── protocolgamesender.cpp.o
│   │           ├── protocolgamesender.cpp.o.d
│   │           ├── protocollogin.cpp.o
│   │           ├── protocollogin.cpp.o.d
│   │           ├── quadtree.cpp.o
│   │           ├── quadtree.cpp.o.d
│   │           ├── redismanager.cpp.o
│   │           ├── redismanager.cpp.o.d
│   │           ├── resourcemanager.cpp.o
│   │           ├── resourcemanager.cpp.o.d
│   │           ├── rsa.cpp.o
│   │           ├── rsa.cpp.o.d
│   │           ├── scheduler.cpp.o
│   │           ├── scheduler.cpp.o.d
│   │           ├── scriptmanager.cpp.o
│   │           ├── scriptmanager.cpp.o.d
│   │           ├── sector.cpp.o
│   │           ├── sector.cpp.o.d
│   │           ├── server.cpp.o
│   │           ├── server.cpp.o.d
│   │           ├── signals.cpp.o
│   │           ├── signals.cpp.o.d
│   │           ├── spectator.cpp.o
│   │           ├── spectator.cpp.o.d
│   │           ├── tasks.cpp.o
│   │           ├── tasks.cpp.o.d
│   │           ├── tile.cpp.o
│   │           ├── tile.cpp.o.d
│   │           ├── tools.cpp.o
│   │           ├── tools.cpp.o.d
│   │           ├── xtea.cpp.o
│   │           ├── xtea.cpp.o.d
│   │           ├── zones.cpp.o
│   │           └── zones.cpp.o.d
│   ├── Makefile
│   ├── cmake_install.cmake
│   ├── git-state-hash
│   ├── gitmetadata.h
│   ├── src
│   │   ├── CMakeFiles
│   │   │   ├── CMakeDirectoryInformation.cmake
│   │   │   └── progress.marks
│   │   ├── Makefile
│   │   └── cmake_install.cmake
│   ├── tfs
│   └── tfs.debug
├── cmake
│   ├── FindLuaJIT.cmake
│   ├── FindMySQL.cmake
│   ├── FindPugiXML.cmake
│   ├── cotire.cmake
│   ├── git_watcher.cmake
│   └── gitmetadata.h.in
├── config.lua
├── config.lua.dist
├── config_centrals.lua
├── config_centrals.lua.dist
├── config_instances.lua
├── config_instances.lua.dist
├── config_spawner.lua
├── config_spawner.lua.dist
├── crashpad_handler.exe
├── gdb.py
├── key.old.pem
├── key.pem
├── restarter.sh
├── schema.sql
├── show.sh
├── src
│   ├── CMakeLists.txt
│   ├── account.h
│   ├── awarerange.cpp
│   ├── awarerange.h
│   ├── ban.cpp
│   ├── ban.h
│   ├── behaviour.cpp
│   ├── behaviour.h
│   ├── configmanager.cpp
│   ├── configmanager.h
│   ├── connection.cpp
│   ├── connection.h
│   ├── const.h
│   ├── container.cpp
│   ├── container.h
│   ├── crashcontrol.cpp
│   ├── crashcontrol.h
│   ├── creature.cpp
│   ├── creature.h
│   ├── database.cpp
│   ├── database.h
│   ├── databasemanager.cpp
│   ├── databasemanager.h
│   ├── databasetasks.cpp
│   ├── databasetasks.h
│   ├── declarations.h
│   ├── definitions.h
│   ├── dependencies
│   │   ├── httplib.h
│   │   ├── json.hpp
│   │   ├── magic_enum.hpp
│   │   └── robin_hood.h
│   ├── dynamicflagsdescriptor.h
│   ├── entity.cpp
│   ├── entity.h
│   ├── enums.h
│   ├── events.cpp
│   ├── events.h
│   ├── fileloader.cpp
│   ├── fileloader.h
│   ├── filestream.cpp
│   ├── filestream.h
│   ├── game.cpp
│   ├── game.h
│   ├── groups.cpp
│   ├── groups.h
│   ├── httptasks.cpp
│   ├── httptasks.h
│   ├── iologindata.cpp
│   ├── iologindata.h
│   ├── item.cpp
│   ├── item.h
│   ├── itemcontainer.cpp
│   ├── itemcontainer.h
│   ├── itemtype.cpp
│   ├── itemtype.h
│   ├── lockfree.h
│   ├── logging
│   │   ├── log_with_spd_log.cpp
│   │   ├── log_with_spd_log.h
│   │   └── logger.h
│   ├── luanetworkinterface.cpp
│   ├── luanetworkinterface.h
│   ├── luascript.cpp
│   ├── luascript.h
│   ├── luavariant.h
│   ├── mail.cpp
│   ├── mail.h
│   ├── mailtasks.cpp
│   ├── mailtasks.h
│   ├── main.cpp
│   ├── map.cpp
│   ├── map.h
│   ├── mapitem.cpp
│   ├── mapitem.h
│   ├── mapitemtype.cpp
│   ├── mapitemtype.h
│   ├── monster.cpp
│   ├── monster.h
│   ├── monstertemplate.cpp
│   ├── monstertemplate.h
│   ├── networkmessage.cpp
│   ├── networkmessage.h
│   ├── outputmessage.cpp
│   ├── outputmessage.h
│   ├── pathfinding.cpp
│   ├── pathfinding.h
│   ├── pch.cpp
│   ├── pch.h
│   ├── platform.cpp
│   ├── platform.h
│   ├── player.cpp
│   ├── player.h
│   ├── playerloader.cpp
│   ├── playerloader.h
│   ├── position.cpp
│   ├── position.h
│   ├── protocol.cpp
│   ├── protocol.h
│   ├── protocolgame.cpp
│   ├── protocolgame.h
│   ├── protocolgamesender.cpp
│   ├── protocolgamesender.h
│   ├── protocollogin.cpp
│   ├── protocollogin.h
│   ├── pugicast.h
│   ├── quadtree.cpp
│   ├── quadtree.h
│   ├── redismanager.cpp
│   ├── redismanager.h
│   ├── resourcemanager.cpp
│   ├── resourcemanager.h
│   ├── rsa.cpp
│   ├── rsa.h
│   ├── scheduler.cpp
│   ├── scheduler.h
│   ├── scriptmanager.cpp
│   ├── scriptmanager.h
│   ├── sector.cpp
│   ├── sector.h
│   ├── server.cpp
│   ├── server.h
│   ├── sharedobject.h
│   ├── signals.cpp
│   ├── signals.h
│   ├── spectator.cpp
│   ├── spectator.h
│   ├── stats.h
│   ├── tasks.cpp
│   ├── tasks.h
│   ├── thread_holder_base.h
│   ├── tile.cpp
│   ├── tile.h
│   ├── tools.cpp
│   ├── tools.h
│   ├── utils
│   │   └── benchmark.h
│   ├── xtea.cpp
│   ├── xtea.h
│   ├── zones.cpp
│   └── zones.h
├── start.sh
├── tfs
├── tfs.debug
├── tools
│   ├── sentry-cli -> sentry-cli-Linux-x86_64_2.37.0
│   ├── sentry-cli-Linux-x86_64_2.37.0
│   └── sentry-cli_2.37.0.exe
├── vc14
│   ├── arch32.props
│   ├── arch64.props
│   ├── debug.props
│   ├── release.props
│   ├── settings.props
│   ├── theforgottenserver.ico
│   ├── theforgottenserver.rc
│   ├── theforgottenserver.sln
│   └── theforgottenserver.vcxproj
└── vcpkg.json

97 directories, 615 files

First I was using the sentry-cli from tools which is the already built for linux on 2.37.0, just made a symb link; Then I compiled that version, and now I compiled the most recent version 2.38.0 as requested, still, not uploading sources...

I also added this on CMake to auto upload:

add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND cp build/tfs .
    COMMAND objcopy --only-keep-debug --compress-debug-sections=zlib tfs tfs.debug
    COMMAND cp build/tfs.debug .
    COMMAND sentry-cli upload-dif --include-sources build/
    COMMAND sentry-cli upload-dsym build/tfs

    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
)

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Oct 23, 2024
@szokeasaurusrex
Copy link
Member

Hi @jopheno, I had deleted that comment because I realized shortly after posting it that our release builds don't include debug symbols, rendering the backtrace useless. But, since you compiled the binary manually, you got the backtrace after all.

From the backtrace, I can see that the error is originating from this line:

let data = ByteView::open(&path).map_err(Error::new)?;

Digging deeper into the ByteView::open function, which comes from one of our dependencies, it seems that most likely, the error originates from this call, where we are attempting to open a file:

https://github.com/getsentry/symbolic/blob/868c28341759fd6f6e6675ee6e07c7fce428bf8d/symbolic-common/src/byteview.rs#L217

Since Sentry CLI tries to traverse the directory in order to find sources and debug files, is it perhaps possible that your directory contains (or links to) an external device which is not mounted or might be experiencing some other hardware issue?

@jopheno
Copy link
Author

jopheno commented Oct 28, 2024

I tried reading all the files, and I saw no further issues on it, I don't think I am having any hardware issues and the only symbolic link I have is the one on sentry executable that can be seen on the tools folder on the structure I presented above...

What else would you recommend me to test? I am running out of options on testing here... I even updated my Linux distribution to be the most up-to-date LTS version, nothing changed...

There there is any further change you guys would like me to try, please let me know.

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Oct 28, 2024
@szokeasaurusrex
Copy link
Member

@jopheno have you tried removing the symbolic link?

@jopheno
Copy link
Author

jopheno commented Nov 1, 2024

Yes, even without the symbolic link; or inside the build folder;

jopheno@lnx-tlm-dev:~/repo/tlm-server$ sentry-cli --log-level=debug debug-files bundle-sources .
  INFO    2024-11-01 20:06:38.607663453 +00:00 Loaded config from /home/jopheno/repo/tlm-server/.sentryclirc
  DEBUG   2024-11-01 20:06:38.608268044 +00:00 sentry-cli version: 2.38.0, platform: "linux", architecture: "x86_64"
  INFO    2024-11-01 20:06:38.609658463 +00:00 sentry-cli was invoked with the following command line: "sentry-cli" "--log-level=debug" "debug-files" "bundle-sources" "."
error: No such device (os error 19)
  INFO    2024-11-01 20:06:38.612569649 +00:00 Running update nagger update check
  DEBUG   2024-11-01 20:06:38.613048222 +00:00 request GET https://release-registry.services.sentry.io/apps/sentry-cli/latest
  DEBUG   2024-11-01 20:06:38.613077498 +00:00 retry number 0, max retries: 0
  DEBUG   2024-11-01 20:06:38.715448988 +00:00 > GET /apps/sentry-cli/latest HTTP/1.1
  DEBUG   2024-11-01 20:06:38.715481470 +00:00 > Host: release-registry.services.sentry.io
  DEBUG   2024-11-01 20:06:38.715490568 +00:00 > Accept: */*
  DEBUG   2024-11-01 20:06:38.715497718 +00:00 > Connection: TE
  DEBUG   2024-11-01 20:06:38.715504674 +00:00 > TE: gzip
  DEBUG   2024-11-01 20:06:38.715517189 +00:00 > User-Agent: sentry-cli/2.38.0
  DEBUG   2024-11-01 20:06:38.749550720 +00:00 < HTTP/1.1 200 OK
  DEBUG   2024-11-01 20:06:38.749588204 +00:00 < content-type: application/json
  DEBUG   2024-11-01 20:06:38.749605114 +00:00 < Content-Length: 10402
  DEBUG   2024-11-01 20:06:38.749620614 +00:00 < access-control-allow-origin: *
  DEBUG   2024-11-01 20:06:38.749634744 +00:00 < x-from-cache: 1
  DEBUG   2024-11-01 20:06:38.749653903 +00:00 < x-envoy-upstream-service-time: 1
  DEBUG   2024-11-01 20:06:38.749671402 +00:00 < date: Fri, 01 Nov 2024 20:06:38 GMT
  DEBUG   2024-11-01 20:06:38.749685707 +00:00 < server: envoy
  DEBUG   2024-11-01 20:06:38.749699448 +00:00 < Via: 1.1 google
  DEBUG   2024-11-01 20:06:38.749713926 +00:00 < Alt-Svc: h3=":443"; ma=2592000,h3-29=":443"; ma=2592000
  DEBUG   2024-11-01 20:06:38.749931073 +00:00 response status: 200
  INFO    2024-11-01 20:06:38.749954102 +00:00 Looking for file named: sentry-cli-Linux-x86_64
  DEBUG   2024-11-01 20:06:38.749970512 +00:00 body: {"canonical":"app:sentry-cli","created_at":"2024-10-30T13:49:16.284Z","file_urls":{"sentry-cli-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-2.38.1.tgz","sentry-cli-Darwin-arm64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-arm64","sentry-cli-Darwin-universal":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-universal","sentry-cli-Darwin-x86_64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-x86_64","sentry-cli-Linux-aarch64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-aarch64","sentry-cli-Linux-armv7":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-armv7","sentry-cli-Linux-i686":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-i686","sentry-cli-Linux-x86_64":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-x86_64","sentry-cli-Windows-i686.exe":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Windows-i686.exe","sentry-cli-Windows-x86_64.exe":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Windows-x86_64.exe","sentry-cli-darwin-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-darwin-2.38.1.tgz","sentry-cli-linux-arm-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-arm-2.38.1.tgz","sentry-cli-linux-arm64-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-arm64-2.38.1.tgz","sentry-cli-linux-i686-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-i686-2.38.1.tgz","sentry-cli-linux-x64-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-x64-2.38.1.tgz","sentry-cli-win32-i686-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-win32-i686-2.38.1.tgz","sentry-cli-win32-x64-2.38.1.tgz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-win32-x64-2.38.1.tgz","sentry_cli-2.38.1-py3-none-macosx_10_15_x86_64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_10_15_x86_64.whl","sentry_cli-2.38.1-py3-none-macosx_11_0_arm64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_11_0_arm64.whl","sentry_cli-2.38.1-py3-none-macosx_11_0_universal2.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_11_0_universal2.whl","sentry_cli-2.38.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl","sentry_cli-2.38.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl","sentry_cli-2.38.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl","sentry_cli-2.38.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl","sentry_cli-2.38.1-py3-none-win32.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-win32.whl","sentry_cli-2.38.1-py3-none-win_amd64.whl":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-win_amd64.whl","sentry_cli-2.38.1.tar.gz":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1.tar.gz"},"files":{"sentry-cli-2.38.1.tgz":{"checksums":{"sha256-hex":"8e29c9626d698ae08feab12930b54127b6eed6801256342a5fb763603371d00e"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-2.38.1.tgz"},"sentry-cli-Darwin-arm64":{"checksums":{"sha256-hex":"c1a2effc2605adf4fae6e2d586a89e28c8038016642ee72aca1214a422086787"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-arm64"},"sentry-cli-Darwin-universal":{"checksums":{"sha256-hex":"c79989225f226b5c8af6b0f3515df9ae25afe6558bd8231d3b94e1fc40e1aa34"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-universal"},"sentry-cli-Darwin-x86_64":{"checksums":{"sha256-hex":"a2222c24a2c252cbd3dbaaca3520ad3e0d83b743782078df9931c8828279735e"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Darwin-x86_64"},"sentry-cli-Linux-aarch64":{"checksums":{"sha256-hex":"ce056adc10cc15d16578d9d65cda98b1d1e97fca7fcc826772a13012495360e1"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-aarch64"},"sentry-cli-Linux-armv7":{"checksums":{"sha256-hex":"09c6f2b0589b64b2657a64806eeb44313f63637639cc986b39ceef64dcf10084"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-armv7"},"sentry-cli-Linux-i686":{"checksums":{"sha256-hex":"17f222d62e4ac2638198f646ab3e09e97ca879bd1c2fdaecad114737ad2b416f"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-i686"},"sentry-cli-Linux-x86_64":{"checksums":{"sha256-hex":"6d5a4a2d93040fba4d9cf01b7abf5e43ffc0a013555ec2aab6a9d62fd5393ddb"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Linux-x86_64"},"sentry-cli-Windows-i686.exe":{"checksums":{"sha256-hex":"466a1c829a303ef27c1285cda9c214b1cfa50f97b3f9a142800340390ddbe579"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Windows-i686.exe"},"sentry-cli-Windows-x86_64.exe":{"checksums":{"sha256-hex":"5f6e48b5111ba342f97babb2f97dc329c5e202e6f188cbbc8b8ab9bb368ee915"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-Windows-x86_64.exe"},"sentry-cli-darwin-2.38.1.tgz":{"checksums":{"sha256-hex":"8f65742d6af472fb30318ab8678af523f02a93ff0db61c1af8327d7e76af9430"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-darwin-2.38.1.tgz"},"sentry-cli-linux-arm-2.38.1.tgz":{"checksums":{"sha256-hex":"671f695e625eedeff1ffe561b1fc7deaa7554f24d7b700a633d1ca900d2aeaad"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-arm-2.38.1.tgz"},"sentry-cli-linux-arm64-2.38.1.tgz":{"checksums":{"sha256-hex":"884dd1d2a61935cd0f9a7f5203a6ead41f4c49e65b24f2764ed0f2a2dcb1a423"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-arm64-2.38.1.tgz"},"sentry-cli-linux-i686-2.38.1.tgz":{"checksums":{"sha256-hex":"955bb0e5aaba373f8c20804ea26737d2acfd38d7bbb25540dc9d6e6708da01a9"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-i686-2.38.1.tgz"},"sentry-cli-linux-x64-2.38.1.tgz":{"checksums":{"sha256-hex":"f6183ed26eb6c5d22cce07e10e339463916d57a9f334ea1d2018ed80a17ee61b"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-linux-x64-2.38.1.tgz"},"sentry-cli-win32-i686-2.38.1.tgz":{"checksums":{"sha256-hex":"6c56255f75680a87b206ec1af364803bf3ebea9e931c4b7a96fbb5aa97929a7d"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-win32-i686-2.38.1.tgz"},"sentry-cli-win32-x64-2.38.1.tgz":{"checksums":{"sha256-hex":"9901f708081028d97cfe34d669521de58436fd42ba6a6bcb13dc9b64ae1d5e61"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry-cli-win32-x64-2.38.1.tgz"},"sentry_cli-2.38.1-py3-none-macosx_10_15_x86_64.whl":{"checksums":{"sha256-hex":"b704c910e4d28bd9518fbf59b9936812b034c165272c72e28cfc8e498ff255b4"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_10_15_x86_64.whl"},"sentry_cli-2.38.1-py3-none-macosx_11_0_arm64.whl":{"checksums":{"sha256-hex":"0f87a403993273a00d4ebd5c1b7d4e024793f68ea48ec17340fdabf7123a98a0"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_11_0_arm64.whl"},"sentry_cli-2.38.1-py3-none-macosx_11_0_universal2.whl":{"checksums":{"sha256-hex":"45f994c8d37017d31b9da4d4a076a0225a9cb122d7c0d9fbb565bc6776a3a8c3"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-macosx_11_0_universal2.whl"},"sentry_cli-2.38.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl":{"checksums":{"sha256-hex":"1be2300329dcf0c37d7e48adcdf7d79a8d97825f82840c99a9e72f24068d5fad"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_aarch64.manylinux2014_aarch64.musllinux_1_2_aarch64.whl"},"sentry_cli-2.38.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl":{"checksums":{"sha256-hex":"9c11f867d975b6fdb8960333eff0b75324a3b304c4df5a6becb8117b3d7c4569"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl"},"sentry_cli-2.38.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl":{"checksums":{"sha256-hex":"54df6c73214c4f151e87804c8abc42cceb3614590f6e11ff0c31e8278892bdb7"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl"},"sentry_cli-2.38.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl":{"checksums":{"sha256-hex":"1696b4b272181e651730445f322ee106966a3f72d6dd434115c7a24debbbc554"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.musllinux_1_2_x86_64.whl"},"sentry_cli-2.38.1-py3-none-win32.whl":{"checksums":{"sha256-hex":"2bb02e577d0ad0aadbc42c4f25e1e102175046826f1a448ec5b335c0137f92d1"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-win32.whl"},"sentry_cli-2.38.1-py3-none-win_amd64.whl":{"checksums":{"sha256-hex":"881cad97328615b7eb76ece3b1d9b5bf8c6c72c04a47c116e4186be0a88eff98"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1-py3-none-win_amd64.whl"},"sentry_cli-2.38.1.tar.gz":{"checksums":{"sha256-hex":"3a5cbd9f7bed1db658f00371b971d9d816984e67e18e309515096f70141479ee"},"url":"https://downloads.sentry-cdn.com/sentry-cli/2.38.1/sentry_cli-2.38.1.tar.gz"}},"main_docs_url":"https://docs.sentry.io/learn/cli","name":"Sentry CLI","repo_url":"https://github.com/getsentry/sentry-cli","version":"2.38.1"}

  INFO    2024-11-01 20:06:38.750184681 +00:00 Found asset sentry-cli-Darwin-arm64
  INFO    2024-11-01 20:06:38.750200960 +00:00 Found asset sentry-cli-linux-i686-2.38.1.tgz
  INFO    2024-11-01 20:06:38.750209257 +00:00 Found asset sentry_cli-2.38.1-py3-none-manylinux_2_17_i686.manylinux2014_i686.musllinux_1_2_i686.whl
  INFO    2024-11-01 20:06:38.750219420 +00:00 Found asset sentry_cli-2.38.1.tar.gz
  INFO    2024-11-01 20:06:38.750227511 +00:00 Found asset sentry_cli-2.38.1-py3-none-manylinux_2_17_armv7l.manylinux2014_armv7l.musllinux_1_2_armv7l.whl
  INFO    2024-11-01 20:06:38.750237716 +00:00 Found asset sentry-cli-Windows-x86_64.exe
  INFO    2024-11-01 20:06:38.750245746 +00:00 Found asset sentry-cli-darwin-2.38.1.tgz
  INFO    2024-11-01 20:06:38.750256820 +00:00 Found asset sentry-cli-Linux-x86_64
jopheno@lnx-tlm-dev:~/repo/tlm-server$ cd build
jopheno@lnx-tlm-dev:~/repo/tlm-server/build$ sentry-cli --log-level=debug debug-files bundle-sources .
  INFO    2024-11-01 20:07:07.202601367 +00:00 Loaded config from /home/jopheno/repo/tlm-server/.sentryclirc
  DEBUG   2024-11-01 20:07:07.202692298 +00:00 sentry-cli version: 2.38.0, platform: "linux", architecture: "x86_64"
  INFO    2024-11-01 20:07:07.203429657 +00:00 sentry-cli was invoked with the following command line: "sentry-cli" "--log-level=debug" "debug-files" "bundle-sources" "."
error: No such device (os error 19)
  INFO    2024-11-01 20:07:07.203659098 +00:00 Skipping update nagger update check
jopheno@lnx-tlm-dev:~/repo/tlm-server/build$

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 1, 2024
@szokeasaurusrex
Copy link
Member

@jopheno very strange. Do you get this same error running the command from any directory? Perhaps you could try making a new empty directory, and running the command there

@getsantry getsantry bot moved this to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 24, 2024
@szokeasaurusrex
Copy link
Member

@UrbanNuke the sentry-cli bundle-sources command only works with a path to an individual file. It does not work with a path to a directory. Could you try again by passing the path to the debug file whose sources you want to bundle, and then let me know whether you encounter the same issue?

@jopheno
Copy link
Author

jopheno commented Nov 27, 2024

Yes, the command only accepts an executable file, I understood it the hard way cuz the command doesn't provide any useful error message... The main issue I first opened this issue for is that, I cannot extract the source code from the executable... So, even tho I pass in the executable file it is not being able to extract the source code info and there is no way to debug this as far as I know... So basically our sentry solution is only worthy on development environment, on production that we use a Linux server, I just can't have the source code entangled with the solution to aid on evaluating the crashes; I can't consider this issue closed until I can get source code to be entangled with the web solution on Linux environment which does not have a .pdb file.

What I would suggest is to improve this command to allow, first of all, to say that you must pass in a file and not a directory, but also to say something that could help us understand why it is not being able to extract the source code... Invalid file? Symbols not present? Arm incompatibility?

GDB is being able to show the source code correctly on it, lines etc... So I would guess that there is nothing wrong with my executable, but idk, this just doesn't work for us on Sentry.

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 27, 2024
@szokeasaurusrex
Copy link
Member

@jopheno Are you still experiencing the No such device (os error 19) error? It sounds like you are now experiencing other problems.

@jopheno
Copy link
Author

jopheno commented Nov 27, 2024

Yes I do, when I pass in a directory; It should show an error instead saying to pass an executable file.

The main issue which solution I am pursuing here is that I am not being able to send source code data to the sentry application on Linux environment... I tried using this command because the "automagically" didn't work, and I was trying to fetch some more information on why it wasn't doing the source bundle... But as it turns out, this command didn't help at all and I still cannot get this working on Linux...

I showed the file structure, how the files are being sent to the web app, etc... I've ran out of ideas, the command doesn't provide any relevant information, even when being misused; If you guys have any other ways that I can use to diagnose the issue, or maybe what I am pursuing is currently unsupported and there is no place showing that... Who knows...

@getsantry getsantry bot moved this from Waiting for: Community to Waiting for: Product Owner in GitHub Issues with 👀 3 Nov 27, 2024
@szokeasaurusrex
Copy link
Member

szokeasaurusrex commented Nov 27, 2024

Okay @jopheno, so to confirm, if you pass in a single file instead of a directory, are you still getting the No such device (os error 19), or does that error only happen when you pass in a directory?

I tried using this command because the "automagically" didn't work

Also, what is the "automagically" you are referring to? I need you to describe your problem specifically so that I can help effectively here.

@szokeasaurusrex
Copy link
Member

Hey @jopheno, I am still waiting to hear back from you with more information about what exact problem you are experiencing with Sentry CLI right now. I have not been able to reproduce the "No such device" error, and I am also confused about whether you are still experiencing that problem.

Can you please clarify what problem or problems you are experiencing now, and provide a reproduction that I can run to see the problems on my end? Without this information, we will need to close this issue as non-actionable

@jopheno
Copy link
Author

jopheno commented Dec 10, 2024

I will be closing the issue, but here it is a break down for you guys to understand what happened and how this could be avoided.

The main issue was: I was not able to obtain the source bundle out of the executable file. as stated on the title of this issue.
Due to that, I tried going through some manual commands to try to get more information on why I wasn't able to obtain the source bundle since on GDB I was able to see the source code normally... Then I tried using the command sentry-cli --log-level=debug debug-files bundle-sources . in order to see if I could get some sort of error that could aid me understanding the reason behind not being able to upload/extract the source bundle from the executable file;

The reason behind No such device was precisely the human error of trying to pass in a directory instead of a executable file, there is no error message saying that you should pass in a file and not a folder, just that message would save hours; The reason why I tried searching for a directory is because I saw an old tutorial saying to do like this... I even tried to find the link of that misleading tutorial, but wasn't able to find the link again...

But then after I passed the executable file it extracted just fine right? Nope... it didn't, and the error message was skipped EXEC_HERE (no files found), it didn't say where it was looking for the files or anything at all, just a generic error message... So there was no way for me to debug why I wasn't able to bundle the source code to be sent... Since on GDB it was working just fine I thought to myself, this is bugged right? And it seemed so, however the reason is the bad responses obtained from using the command which helps in nothing when trying to extract the source bundle... Even when running using debug options and compiling sentry-cli by hand as requested in the earlier messages.

So the bigger issue is not being able to bundle the sources, and being unable to debug the reason for it to not be working, with a very confusing docs that sometimes even describe the need of a file to map each source code to its path (but I guess not for native apps)...

After many attempts on different machines I figured out the reason for it to not being bundling the sources in my special case here.

So the reason for me to not be able to bundle the sources was because I was moving the files around; Idk if the source files are saved as relative to the executable file, but by moving the executable file and source code around during post build phases and later on trying to extract the source bundle it was simply not working... I hope that CLI command could at least say something like: Found debug symbols on the executable file, but unable to find source code at '../src/FILES.cpp'...

But wait, I did say that GDB was being able to find the source files, right? Yes! And the reason why GDB was being able to see the source files was because the script I use to boot up with gdb was grabbing the executable file on the correct place and just setting the working directory to the other, so somehow it was resolving the path... I didn't look into it more if it was due to moving the executable file from a directory to another, from a partition to another or the source code on post build...

So for everyone that still manages to have this issue "Being unable to bundle a native app source code to be sent from a Linux Environment", my advice is to avoid any post build phases and to run GDB to see if it is being able to fetch the source code (I was looking by crashing the app and seeing if it was being able to say the function positions on the file with the lines etc).

So what I do recommend to be done on your end @szokeasaurusrex, please improve the error handling.
Showing No such device (os error 19) is very misleading, please verify if the path passed is an executable, and in case it is a directory say: You must provide the path to an executable in order to extract the source bundle.; And also, in case it finds the file instead of saying something like: skipped EXEC_FILE (no files found) it should say Found executable EXEC_FILE, but it was unable to find the source bundle. Make sure to compile with debug symbols. and idk if it is possible to check if it was indeed compiled with debug symbols, but in case it is and not being able to find the source code cuz it was moved over, erased, or just not accessible due to permissions (I believe it is what happened to me) try returning something like: Found executable EXEC_FILE, but it was unable to find the source bundle. Unable to find source bundle files over 'PATH', please check permissions and if the files are actually on this path.

The command is working, and after removing some post-build steps and reordering things I was able to get it to work, but the errors it returns they do not help on debugging at all, it took quite a while for me to understand the command, the issue and to get that fixed... I updated multiple times the sentry-cli release, I am currently using the v2.39.1, it could even be something on these earlier releases that got fixed, idk... But it is now working fine. [2.39.1](https://github.com/getsentry/sentry-cli/releases/tag/2.39.1)

@szokeasaurusrex
Copy link
Member

Okay, thank you for the feedback @jopheno – it is very helpful. We are already aware that many of our error messages lack enough detail to be helpful, and we will try to improve them.

We already have #2180 open to improve some of our error messages, and I just opened #2308 to address the error messages that you mentioned specifically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Archived in project
Development

No branches or pull requests

4 participants