1
0
mirror of https://github.com/trezor/trezor-firmware.git synced 2025-04-10 20:35:54 +00:00
Go to file
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
.clusterfuzzlite Run fuzzer in CI 2023-07-12 10:13:17 +02:00
.github chore(core/build): don't build with Tropic by default 2025-03-26 10:32:31 +01:00
ci refactor(core): restructure embed folder 2024-11-18 09:41:02 +01:00
common fix(core): generate coin support for discovery kits 2025-03-27 15:46:46 +01:00
core wip: log GC roots from regs & stack 2025-04-03 12:00:53 +03:00
crypto chore(core, crypto): Remove unused function mnemonic_generate(). 2025-02-26 17:20:58 +01:00
docs wip: log GC roots from regs & stack 2025-04-03 12:00:53 +03:00
legacy chore: Add emulator warnings. 2025-03-04 12:49:30 +01:00
nordic feat(ble): signal full bond memory when advertising 2025-03-20 10:34:05 +01:00
python chore(python): replace 'pytest-rerunfailures' with 'pytest-retry' 2025-03-26 14:15:29 +02:00
rust feat(core): introduce Nostr 2025-02-28 14:15:45 +01:00
storage build(core): use internal model names everywhere 2025-01-13 16:24:35 +01:00
tests chore(python): replace 'pytest-rerunfailures' with 'pytest-retry' 2025-03-26 14:15:29 +02:00
tools refactor(core): complete bootloader refactoring 2025-03-24 14:31:14 +01:00
vendor wip: log GC roots from regs & stack 2025-04-03 12:00:53 +03:00
.clang-format Fix cstyle and editor_check inconsistancy [no changelog] 2025-02-25 16:59:39 +01:00
.editorconfig feat(core): Introduce nfc commands in prodtest & update NFC library [no changelog] 2025-02-25 18:29:54 +01:00
.gitattributes feat(core): add Rust font data 2025-02-06 13:32:29 +01:00
.gitignore chore: gitignore Cursor config 2025-03-04 14:24:22 +01:00
.gitlab-ci.yml refactor(core): restructure embed folder 2024-11-18 09:41:02 +01:00
.gitmodules chore(core): add TROPIC01 model as a submodule 2025-03-13 15:08:48 +01:00
.pylintrc refactor(nordic): rename west to nordic 2025-02-10 17:22:57 +01:00
.yamllint.yml refactor(nordic): rename west to nordic 2025-02-10 17:22:57 +01:00
build-docker.sh build: build-docker.sh: drop --skip-legacy and --skip-core options 2025-02-19 22:05:32 +01:00
CODEOWNERS chore(CODEOWNERS): remove me from some components 2021-10-17 10:45:14 +02:00
COMMITS.md docs: introduce conventional-commits (#1234) 2020-09-15 16:11:39 +02:00
CONTRIBUTING.md docs: add PR workflow info; move CONTRIBUTING to docs 2020-04-30 14:49:47 +02:00
COPYING docs: clear up licensing information 2021-03-31 18:51:52 +02:00
create_monorepo.py chore: update branch name to main where its used 2023-10-18 10:40:05 +02:00
deps.py wip: log GC roots from regs & stack 2025-04-03 12:00:53 +03:00
LICENSE.md docs: clear up licensing information 2021-03-31 18:51:52 +02:00
Makefile chore: include pb2py for python style linting 2025-02-25 13:58:33 +01:00
poetry.lock chore(python): replace 'pytest-rerunfailures' with 'pytest-retry' 2025-03-26 14:15:29 +02:00
poetry.toml build(poetry): use new (parallel) installer 2022-11-08 12:21:46 +01:00
pyproject.toml chore(python): replace 'pytest-rerunfailures' with 'pytest-retry' 2025-03-26 14:15:29 +02:00
README.md chore(readme): add link to trezor.io KB disclosure article 2023-01-09 10:45:31 +01:00
SECURITY.md docs: use monospace for fingerprints 2019-08-16 18:47:46 +02:00
setup.cfg chore(python): replace 'pytest-rerunfailures' with 'pytest-retry' 2025-03-26 14:15:29 +02:00
shell.nix test(core): update monero tests binary 2025-02-05 16:25:53 +01:00

Trezor Firmware

img

Repository Structure

  • ci: Gitlab CI configuration files
  • common/defs: JSON coin definitions and support tables
  • common/protob: Common protobuf definitions for the Trezor protocol
  • common/tools: Tools for managing coin definitions and related data
  • core: Trezor Core, firmware implementation for Trezor T
  • crypto: Stand-alone cryptography library used by both Trezor Core and the Trezor One firmware
  • docs: Assorted documentation
  • legacy: Trezor One firmware implementation
  • python: Python client library and the trezorctl command
  • storage: NORCOW storage implementation used by both Trezor Core and the Trezor One firmware
  • tests: Firmware unit test suite
  • tools: Miscellaneous build and helper scripts
  • vendor: Submodules for external dependencies

Contribute

See CONTRIBUTING.md.

Using Conventional Commits is strongly recommended and might be enforced in future.

Also please have a look at the docs, either in the docs folder or at docs.trezor.io before contributing. The misc chapter should be read in particular because it contains some useful assorted knowledge.

Security vulnerability disclosure

Please report suspected security vulnerabilities in private to security@satoshilabs.com, also see the disclosure section on the Trezor.io website. Please do NOT create publicly viewable issues for suspected security vulnerabilities.

Documentation

See the docs folder or visit docs.trezor.io.