1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-04-22 10:09:04 +00:00
trezor-firmware/core/embed/rust
Roman Zeyde 2d7b4b8a39 wip: log GC roots from regs & stack
 TREZOR_MODEL=T3T1 BITCOIN_ONLY=0 QUIET_MODE=1 PYOPT=0 make -C core build_unix_frozen
 core/emu.py -ea --profiling -o /tmp/trezor.log -c pytest -xv tests/device_tests/test_msg_applysettings.py::test_apply_homescreen_jpeg
======================================================================================= short test summary info ========================================================================================
FAILED tests/device_tests/test_msg_applysettings.py::test_apply_homescreen_jpeg - trezorlib.exceptions.TrezorFailure: FirmwareError:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! stopping after 1 failures !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
========================================================================================== 1 failed in 1.55s ===========================================================================================
Terminating emulator...
Emulator shut down after 0.064 seconds

 grep -B2 '>Layout' /tmp/trezor.log
alloc(424) = 0x71612f4723e0 flags: 0
alloc(176) = 0x71612f4725a0 flags: 1
>LayoutObj::new_root
--
alloc(424) = 0x71612f4711c0 flags: 0
alloc(176) = 0x71612f471380 flags: 1
>LayoutObj::new_root

 grep 0x71612f471380 /tmp/dump*
/tmp/dump-002.json:6930	6900	6	0x71612f471380	#7	<0x637d78>
/tmp/dump-002.json:7089	6900	6	0x71612f471380	#2	<0x637d78>
/tmp/dump-003.json:6930	6900	6	0x71612f471380	#7	<0x637d78>
/tmp/dump-003.json:7089	6900	6	0x71612f471380	#2	<0x637d78>
...

 python deps.py 6900 < /tmp/dump-002.json | colrm 200
6930     6900     6        0x71612f471380 #7       <0x637d78>
6769     6930     6        0x71612f471740 #3       <0x5e92>
3508     6769     1        0x71612f470320 #69      <0x71612f46ba60>
3040     3508     24       0x71612f456b80 #3       <0x6eba>
3036     3040     1        0x71612f453100 #1       dict {'T': 0, 'utime': 0x61d3e0, 'const': 0x61ef80, 'backlight_fade': 0x63b210, 'Shutdown': 0x71612f453920, 'refresh': 0x71612f453740, 'HEIGHT': 240
3437     3036     1        0x71612f453080 #1       module {'T': 0, 'utime': 0x61d3e0, 'const': 0x61ef80, 'backlight_fade': 0x63b210, 'Shutdown': 0x71612f453920, 'refresh': 0x71612f453740, 'HEIGHT': 2
3457     3437     2        0x71612f4562a0 #1       gen_wrap
3116     3457     15       0x71612f456520 #3       <0x7d6a>
3447     3116     1        0x71612f453a80 #14      dict {'_handle_usb_iface': 0x71612f4562a0, 'stop': 0x71612f456060, 'create_tasks': 0x71612f456220, '__del__': 0x71612f4563a0, '_handle_input_iface':
6156     3447     4        0x71612f4563e0 #13      type Layout
6187     6156     4        0x71612f46b680 #13      type HomescreenBase
6333     6187     4        0x71612f46ba60 #1       type Homescreen
6095     6333     12       0x71612f46cca0 #3       <0x7eaa>
6012     6095     1        0x71612f46aee0 #1       dict {'Homescreen': 0x71612f46ba60, 'busy_expiry_ms': 0x71612f457820, '__file__': 'apps/homescreen/__init__.py', '__name__': 'apps.homescreen', 'Mes
6285     6012     1        0x71612f46a480 #1       module {'Homescreen': 0x71612f46ba60, 'busy_expiry_ms': 0x71612f457820, '__file__': 'apps/homescreen/__init__.py', '__name__': 'apps.homescreen', 'M
2050     6285     2        0x71612f46c6a0 #5       gen_wrap
1948     2050     15       0x71612f44b540 #3       <0x7742>
1936     1948     1        0x71612f44a880 #1       dict {'IdleTimer': 0x71612f44b420, 'spawn': 0x71612f44ae20, 'default_constructor': 0x71612f46c6a0, 'ALLOW_WHILE_LOCKED': 0x71612f44ad40, '__name__':
2823     1936     1        0x71612f44a700 #33      module {'IdleTimer': 0x71612f44b420, 'spawn': 0x71612f44ae20, 'default_constructor': 0x71612f46c6a0, 'ALLOW_WHILE_LOCKED': 0x71612f44ad40, '__name__
1666     2823     15       0x71612f4515e0 #3       <0x84b2>
1663     1666     1        0x71612f448540 #1       dict {'UnexpectedMessageException': 0x71612f44d1c0, 'with_context': 0x71612f44d2c0, 'DataError': 0x71612f44f600, 'Message': 0x71612f44c0a0, '__name_
2802     1663     1        0x71612f4484e0 #1       module {'UnexpectedMessageException': 0x71612f44d1c0, 'with_context': 0x71612f44d2c0, 'DataError': 0x71612f44f600, 'Message': 0x71612f44c0a0, '__nam
2936     2802     2        0x71612f451340 #3       fun_bc
785      2936     19       0x71612f452400 #3       <0x85ca>
784      785      1        0x71612f441720 #1       dict {'UnexpectedMessage': 0x71612f44de80, 'failure': 0x71612f451340, 'PinInvalid': 0x71612f44ffa0, 'setup': 0x71612f4528e0, 'protobuf': 0x71612f445
2977     784      1        0x71612f441700 #1       module {'UnexpectedMessage': 0x71612f44de80, 'failure': 0x71612f451340, 'PinInvalid': 0x71612f44ffa0, 'setup': 0x71612f4528e0, 'protobuf': 0x71612f4
6450     2977     2        0x71612f452920 #2       gen_wrap
1644     6450     9        0x71612f46db40 #3       gen_instance
364      1644     15       0x71612f448280 #3       <0x23a>
293      364      1        0x71612f43e280 #1       dict {'close': 0x71612f442640, 'this_task': 0x71612f46db40, 'io': 0x61c830, 'schedule': 0x71612f442120, '__name__': 'trezor.loop', '_TIMEOUT_ERROR':
3906     293      1        0x71612f43d9a0 #7       module {'close': 0x71612f442640, 'this_task': 0x71612f46db40, 'io': 0x61c830, 'schedule': 0x71612f442120, '__name__': 'trezor.loop', '_TIMEOUT_ERROR
210      3906     5        0x71612f459d40 #3       <(nil)>
199      210      1        0x71612f43cf40 #1       dict {'log': 0x71612f43d8a0, '__name__': 'session', 'loop': 0x71612f43d9a0, 'utils': 0x71612f43d3a0, 'apps': 0x71612f44a380, 'workflow': 0x71612f44a
315      199      1        0x71612f43cde0 #1       module {'log': 0x71612f43d8a0, '__name__': 'session', 'loop': 0x71612f43d9a0, 'utils': 0x71612f43d3a0, 'apps': 0x71612f44a380, 'workflow': 0x71612f4
0        315      2        0x71612f43dc60 #552     fun_bc

 nm core/build/unix/trezor-emu-core | grep 637d78
0000000000637d78 d _ZN10trezor_lib2ui6layout3obj9LayoutObj8obj_type4TYPE17hb6ebd6797ed3a6e4E
# from objdump => `637d78 <trezor_lib::ui::layout::obj::LayoutObj::obj_type::TYPE>`
2025-04-03 12:00:53 +03:00
..
.cargo feat(core): Add Rust Protobuf codec 2021-06-08 09:55:19 +02:00
docs chore(core/rust): move illustration outside src/ tree 2024-02-12 14:49:32 +01:00
fuzz chore(deps): bump shlex from 1.0.0 to 1.3.0 in /core/embed/rust/fuzz 2024-03-18 11:49:06 +01:00
src wip: log GC roots from regs & stack 2025-04-03 12:00:53 +03:00
build.rs refactor(rust): improve time module 2025-02-26 09:56:08 +01:00
Cargo.lock chore(core/rust): drop cstr_core dependency 2024-06-19 09:14:51 +02:00
Cargo.toml feat(core): add libtropic to the unix build 2025-03-13 15:08:48 +01:00
crypto.h feat(core/rust): add trezorcrypto bindings 2024-02-12 14:49:32 +01:00
librust_qstr.h perf(core): intern single-digit strings 2025-03-26 21:16:06 +02:00
librust_qstr.h.mako perf(core): intern single-digit strings 2025-03-26 21:16:06 +02:00
librust.h feat(core): dump GC arena on OOM 2025-03-17 20:17:42 +02:00
micropython.h refactor(core): restructure embed folder 2024-11-18 09:41:02 +01:00
qstr.h chore(vendor): bump micropython to 1.19.1 2023-04-21 13:14:07 +02:00
rust_ui_bootloader.h refactor(core): introduce global trezor_rtl/bsp/model headers 2024-11-05 10:00:31 +01:00
rust_ui_common.h fix(core): add fade-in to boot stage 2 screen if backlight was reset 2025-02-02 22:41:17 +01:00
rust_ui_prodtest.h feat(core/prodtest): show device ID in prodtest QR code 2025-03-08 12:26:41 +01:00
rust_ui.h refactor(core): introduce global trezor_rtl/bsp/model headers 2024-11-05 10:00:31 +01:00
rustfmt.toml chore(core/rust): fixes and formatting 2021-10-07 15:01:55 +02:00
trezorhal.h refactor(core): remove fonts and no longer used drawing functions from C 2025-02-11 11:25:18 +01:00