1
0
Fork 0

Add backtraces for allocation failures #30

This commit is contained in:
Robbert van der Helm 2022-09-07 20:02:35 +02:00
parent cf72a796f4
commit c980fe2b4b
2 changed files with 15 additions and 5 deletions

8
Cargo.lock generated
View file

@ -144,8 +144,10 @@ dependencies = [
[[package]]
name = "assert_no_alloc"
version = "1.1.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55ca83137a482d61d916ceb1eba52a684f98004f18e0cafea230fe5579c178a3"
source = "git+https://github.com/robbert-vdh/rust-assert-no-alloc.git?branch=nih-plug#95120d996240a2c279a6067502e11b62d30563a6"
dependencies = [
"backtrace",
]
[[package]]
name = "async-channel"
@ -4153,7 +4155,7 @@ version = "1.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "97fee6b57c6a41524a810daee9286c02d7752c4253064d0b05472833a438f675"
dependencies = [
"cfg-if 1.0.0",
"cfg-if 0.1.10",
"rand 0.8.5",
"static_assertions",
]

View file

@ -88,8 +88,16 @@ serde_json = "1.0"
simplelog = "0.12"
widestring = "1.0.0-beta.1"
# Used for the `assert_process_allocs` feature
assert_no_alloc = { version = "1.1", optional = true }
# Used for the `assert_process_allocs` feature. This fork includes support for
# the log crate and printing backtraces on allocation failure so you can trace
# the allocation back to a place in the code.
# TODO: The `log` feature causes would pipe these messages through our logger
# which is great in theory, but if the allocation failure happens as part
# of the logger then this will cause the program to hang indefinitely
# because simplelog gates the log function behind a mutex. At some point
# we should implement our own logger and enable this feature. That way we
# can also use CLAP's logging extension.
assert_no_alloc = { git = "https://github.com/robbert-vdh/rust-assert-no-alloc.git", branch = "nih-plug", features = ["backtrace"], optional = true }
# Used for the `standalone` feature
# NOTE: OpenGL support is not needed here, but rust-analyzer gets confused when