File tree Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Expand file tree Collapse file tree 1 file changed +16
-1
lines changed Original file line number Diff line number Diff line change @@ -522,7 +522,22 @@ async def handle_cast(
522
522
523
523
if self .instance is None :
524
524
raise AssertionError (
525
- "__init__ failed earlier and no Actor object is available"
525
+ f"""
526
+ Actor object is not available when executing method { message .method }
527
+ on actor { mailbox .actor_id } . This could happen because:
528
+ 1. the execution of previous message for "__init__" failed;
529
+ 2. this message is delivered to this actor before the previous
530
+ message of "__init__" is delivered. Normally out-of-order
531
+ delivery should not happen. But it is possible if both
532
+ "cast" and "direct actor send" are used. For example
533
+ "__init__" is cast, and this message is direct send. Then
534
+ this message could be delivered earlier since we do not
535
+ guarrantee ordering of delivery interleaved by these 2
536
+ usages.
537
+ * Since we do not expose the choice of "cast" and "direct
538
+ send" to the user, when this error happens, it is
539
+ likely a bug in the framework.
540
+ """
526
541
)
527
542
the_method = getattr (self .instance , message .method )._method
528
543
You can’t perform that action at this time.
0 commit comments