This seems to be fixed but now I have another crash pestering me.

MIRC621 heeft een fout met betrekking tot een ongeldige pagina veroorzaakt in
module MIRC621.EXE op0167:00585ad3.
Registers:
EAX=00fef3a4 CS=0167 EIP=00585ad3 EFLGS=00010246
EBX=0087ea6f SS=016f ESP=0087b518 EBP=0087e688
ECX=00fef3a4 DS=016f ESI=0087d21c FS=527f
EDX=7efefeff ES=016f EDI=0087ea6f GS=0000
Bytes in CS:EIP:
8b 01 03 d0 83 f0 ff 33 c2 8b 11 83 c1 04 a9 00
Stackdump:
0087c540 0051251f 0087ea6f 00fef3a4 0087e688 0087c540 0087d21c 0087c92d 0087c939 00000001 0087e688 00000101 81d7425c 00000000 00000000 00000000

It occurs when my script has a reconnection job in the queue (for example, after a lagcheck timeout), and a disconnection happens before that job is processed.
Since the disconnection (by disconnect command or mirc button) triggers it, I added debug /writes in the on disconnect event and called aliases, so I can see where it stops in the execution path.
But the weird thing is, all the writes are done. Then I added a timer -o 1 0 dbl something (alias dbl does the /write) on the end of the on disconnection event, and that timer never triggers, the debug /write in it is not done.
I even added a /remote off after the timer starts, and the crash still happens.
Since this crash happens after the script execution is finished, I'm out of ideas on how to trackdown the reason.

Note: I wrote an alias to mimic the triggering conditions for the queue addition (using my script) and I tried it with other mirc versions. It occurs downto 6.16 (cant test older since script needs 6.16) so I guess this is another bug existing for quite some time.

Addition:
I tried elimination and commenting out this line avoids the crash:
Code:
if ($scon(0) > 1) { hdel SC_H %hi | scid $11 window -c "Status Window" }

So somehow its again related to closing Status Window but I can't reproduce the crash with
Code:
on *:disconnect:{ scid $cid window -c "Status Window" }

so I'm still unsure.

Last edited by RRX; 23/12/06 07:24 PM.