Hi Nick,
Thanks a lot. I was able to figure out this issue yesterday. I
did not update the jump offset of the branching instruction iffalse, which was
the root cause. Iam using the normal flash player. Can you please tell me where
i can download this debug player? Where the flash logs will be stored.. This
will be helpful for my future endeavours.
Once again, Thanks a lot.
Cheers,
Prabakaran Srinivasan.
----- Original Message ----
From: Nick Main <nickmain@...>
To: JavaSWF-Support@yahoogroups.com
Sent: Thursday, August 21, 2008 2:22:16 AM
Subject: [JavaSWF-Support] Re: Doubt regarding the instructions
Hey Prabakaran,
Are you using the debug player ? When the verifier chokes like this
it writes a dump of the bytecode into the flash log. That includes
all the instructions in the current method, along with stack and local
variable states. This info would be useful in figuring out the problem.
The verifier will check the bytecode before execution to make sure
that the stack and local var state is compatible with the instructions.
This error could mean that you've inserted instructions which will
leave the stack empty before an instruction which is expecting one
value to be on the stack.
It could also mean that there are several different execution paths
(e.g. from looping or conditional expressions) through the point where
verification failed, and that when following one path the stack has 1
item and when following the other it has zero.
Again - getting hold of the flash log will pinpoint the error.
The AVM2 Overview document gives some explanation of the two stacks.
Briefly - the scope stack is used to hold the list of objects/scopes
that will be searched when looking for a property by name. The
execution stack holds all the other instruction operands and results.
I don't know, but guess that the verifier won't check the scope
stack, other than to make sure it is not empty.
If you have trouble interpreting the flash log, post it here or send
it to me directly.
Good luck.
--Nick
--- In JavaSWF-Support@ yahoogroups. com, Prabakaran Srinivasan
<cute_karan2@ ...> wrote:
>
> Hi Nick/ Anybody,
> ��� ��� ��� ��� ��� ��� I have a
clarification regarding an error
message which the flash player displays. I tried injecting
some�instructions into existing methods available in the Actionscript
Version 3 classes. When i try to execute the file in which i injected
my code, the player displays an error message saying
> Verify Error : 1030 Stack depth is unbalanced 1 != 0.
> I checked with many of the forums and the solution i found was, the
SWF file has been corrupted. I can understand that i have done
something wrong with the code injection. But i just want to understand
the meaning of the error message given above.
> What does that 1 and 0 stand�for????
> The player gives an error saying the stack depth is unbalanced.
> Which stack does it refer to, the scope stack or the operand stack?
> Also please let me know the usage of these 2 stacks when dealing
with the instruction sets of the methods.
> I hardly understand anything from the error message.
> Please help me..
> Thanks in advance,
> Prabakaran Srinivasan.
>
>
>
>
> [Non-text portions of this message have been removed]
>
[Non-text portions of this message have been removed]