# ask-community

Gintas Zenevskis

03/17/2023, 6:13 PM
is it illegal to call op inside asset? I don't understand why this simple code makes the runtime freeze or something. It keeps executing without end. If I click re-execute, I get "dagster._core.errors.DagsterUserCodeUnreachableError: Could not reach user code server. gRPC Error code: UNAVAILABLE"
blob police 1

Tim Castillo

03/17/2023, 6:42 PM
I wouldn't say illegal, but an asset is an abstraction over ops, so calling an op within an asset messes with how Dagster structures the run. If you have ops and you want to compose them into assets, have you seen graph-backed assets?
👍 1

Gintas Zenevskis

03/17/2023, 6:48 PM
let me try graph asset. But I feel like it's a bug or at least it lacks an error message to remind to not call @op in @asset, as it causes a freeze.
I replaced @asset with @graph_asset in this example code I sent and now it doesn't freeze. So I feel like there at least should be an error message because it's very confusing otherwise to find the problem.
is context in graph_asset not allowed as well?
Returning array in @graph_asset is illegal but not in @asset? why would it be so?