Closed GoogleCodeExporter closed 9 years ago
"Mr_A have rebuilt Application.swf without any patches and it still crashes."
Where?
I'm not used to Flash/AS programming but in the global case, more logging can't
hurt and we have to try everything in order to fix this ASAP.
I'll play with the Application.swf patching script tonight but I won't be able
to debug it properly since my game isn't crashing anymore (I still have
5.0.1-test2 Application.swf).
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 4:20
There are plenty of people monitoring this thread who are keen to see a fix and
can test it for you.
Just post a link here and we will help test it for you.
Original comment by m...@thewridsdale.co.uk
on 4 Nov 2013 at 5:23
Anyway, FlashInit isn't even called before my additional logging:
Application.swf is NOT loaded when the CTD occurs. What is causing the crash is
the thing initiating the SWF file (why randomly ?).
I'm not an experienced programmer on that platform but I -think- the issue is
located in xvmstat/__init__.py, I'll decompile some files and see if there is
something wrong.
Sorry for discussing about this in there. Also, Maca or Mr_A, feel free to
correct me or tell me if what I'm doing is useless.
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 5:48
I set enableUserInfoStatistics to false as recommended but still crashed, then
did the same with enableCompanyStatistics, loadEnemyStatsInFogOfWar still
crashed then set showPlayersStatistics to false and no crashes so far (but
yeah, i dont have stats ingame). Hope it helps.
Original comment by szali...@gmail.com
on 4 Nov 2013 at 7:24
edgar.fournival:
Game crash even with empty res_mods/xvm/mods folder so it won't be inside
BattleResults.
That was in tes1 version, where until r2904, that's ok for now.
There is also logging like:
[XVM:AUTOLOGIN] processView: introVideo
It's logged before main code inside res_mods/xvm/mods/***-xvm.swf files. When
game crash it would be last line in log. We he nothing from hangar.
Application.swf is wierd after reassembling by rabcdasm.
I had missing AS3 classes when trying make diff over tes2 version and original.
When i recompiled it with only basic XVM loading line (Application.xvm.patch),
it's almost ok.
Some parts are changed, but i don't know what that code means...
diff: https://gist.github.com/PavelMaca/f9213c8be54413a2ea23
It doesn't look like problem, since game would crash every time if there was
problem with that #1 / #0 symbols from diff.
Maybe try debug all python files on start to make log.
Don't have time to play, so i can't test anything.
Original comment by maca.pa...@gmail.com
on 4 Nov 2013 at 7:25
>Application.swf is wierd after reassembling by rabcdasm.
Issue in RABCDasm bugtracker https://github.com/CyberShadow/RABCDAsm/issues/22
Original comment by pavlushko.m@gmail.com
on 4 Nov 2013 at 9:41
More info: client crashes in python part, on Avatar.onLeaveWorld().
Need some python knowledge to compiling in P2.6
this http://pastebin.com/Mw8F3vBx
Avatar.py with more logging. If anybody do this, I will be glad.
Original comment by mr.a.on...@gmail.com
on 4 Nov 2013 at 10:01
Decompiled under Debian using pycdc, recompiled using Python 2.6.
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 10:32
Mr_A, there is an error in your script:
Python 2.6.8 (unknown, Jan 26 2013, 14:35:25)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import py_compile
>>> py_compile.compile('avatar.py')
SyntaxError: ('illegal expression for augmented assignment', ('avatar.py',
1287, None, 'isOn and flags |= 16\n'))
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 10:54
This part of code need rewrite, that's why I asked for help.
Need a python programmer, construction "a|=b" = "a=a|b" and so on.
Original comment by mr.a.on...@gmail.com
on 4 Nov 2013 at 11:01
> Issue in RABCDasm bugtracker https://github.com/CyberShadow/RABCDAsm/issues/22
...was closed almost instantly.
Original comment by gene...@gmail.com
on 4 Nov 2013 at 11:08
Oh ok, I thought you wanted help with the recompiling part.
By the way, what did you used to decompile the .pyc file? I was always able to
recompile the pycdc output while some other decompilers like uncompyle2 made
errors in the code.
Last thing, how is this related with Application.swf? I may be wrong but it
smells like a WG fail in its own code...
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 11:10
Where can i find the code?
Have quite some years py experience...
Original comment by manuel.t...@gmail.com
on 4 Nov 2013 at 11:13
You can find Avatar.pyc in res\scripts\client, but you need pycdc to decompile
it under good Python code.
Original comment by edgar.fo...@gmail.com
on 4 Nov 2013 at 11:38
>what did you used to decompile the .pyc file?
uncompyle2. All correctly excl this part (makeVehicleMovementCommandByKeys)
>how is this related with Application.swf?
Dont know:)
>Where can i find the code?
http://pastebin.com/Mw8F3vBx
Original comment by mr.a.on...@gmail.com
on 4 Nov 2013 at 11:39
Here are my humble thoughts on this:
1. We know that patch injection method worked fine on 0.8.8 version of
application.swf. Maybe WG made some wild changes to it in 0.8.9, but maybe not.
2. Why the f... it doesn't crash with original untouched version, but crashes
with unmodified recompiled one?.. How this can involve python code by any
chance? What deepest depths of hell does recompilcation open?
Sorry if I was too emotional :)
Original comment by gene...@gmail.com
on 4 Nov 2013 at 11:44
Hereby lies Application.swf recompiled by Mr.A without patches:
http://www.koreanrandom.com/forum/index.php?app=core&module=attach§ion=attach&a
ttach_id=30570
It causes the same CTD. Why is that? I can't beleive that RABCDAsm is innocent
after that.
Original comment by gene...@gmail.com
on 4 Nov 2013 at 11:55
edgar.fournival:
>I was always able to recompile the pycdc output while some other decompilers
like uncompyle2 made errors in the code.
How about wierd numbers in decompiled code from pycdc like "4.59187e+18"
instead of "0.1" form ucompyle2.
However, code form pycdc looks better.
Original comment by maca.pa...@gmail.com
on 5 Nov 2013 at 7:17
True, and I just noticed pycdc messed up with for loops, but I got the file
compiling by mixing both decompilers output:
http://pastebin.com/0PtVkxyP
(
Run the Python 2.6 (version is important!) shell (terminal > python2.6) then:
import py_compile
py_compile.compile('path/to/your/file.py')
)
Good luck!
Original comment by edgar.fo...@gmail.com
on 5 Nov 2013 at 8:50
@#113 & #115
the code around line 1287 just doesn't make sense... maybe the compiler tried
to optimize the code and the decompiler didn't get it...
taking an educated guess, the if/elif-block wants to set flags=1 if going
forward and flags=2 if going backward (first and second bit as flags is a
bitfield) plus setting bit 32(int) for first gear forward and bit 16(int) for
first gear backwards. The bool isOn just doesn't make sense in 'isOn and flags
|= 16' as u can't assign a bool to an int and if u could, that wouldn't been
done by an 'and'. I think it was ment something like 'if (isOn == true) then
(flags |= 16)'.
If thats what the code should do, replace:
"""
isOn = self.__cruiseControlMode == _CRUISE_CONTROL_MODE.BCKW50
isOn and flags |= 16
"""
with:
"""
if self.__cruiseControlMode == _CRUISE_CONTROL_MODE.BCKW50:
flags |= 16
"""
The code compiles that way, but i cant test it right now in WoT...
Hopes, that helps.
Cheers!
Original comment by manuel.t...@gmail.com
on 5 Nov 2013 at 9:50
I'm not gonna pretend I understand what the hell you guys are doing, but I'm
glad somebody is looking into this :)
Original comment by devilize...@gmail.com
on 5 Nov 2013 at 1:05
why the fuck are you working with decompilers? Where are the sources?
Original comment by Erik.It...@gmail.com
on 5 Nov 2013 at 4:28
>why the fuck are you working with decompilers? Where are the sources?
Wargaming.net does not provide python sources.
Original comment by pavlushko.m@gmail.com
on 5 Nov 2013 at 4:45
My modded variant: http://pastebin.com/YQNDhLVN
1. Compile w P2.6
2. Copy to \res_mods\0.8.9\scripts\client
3. Run replay, press Esc
4. If cursor moved wrongly - modify script - goto 1.
I look forward to the correct version of the script
Original comment by mr.a.on...@gmail.com
on 5 Nov 2013 at 5:09
tried #89's solution and it has worked so far :)
Original comment by jackrh...@gmail.com
on 6 Nov 2013 at 8:55
nightly build 2924 crash too
Original comment by rene.wu...@gmail.com
on 6 Nov 2013 at 2:39
Tried #89 ("enableUserInfoStatistics": false) - second battle and crashed,
sadly.
Original comment by HASH.DuO...@gmail.com
on 6 Nov 2013 at 5:34
tried the 2924 nightly build. still crashing to desktop after the battle. i
deleted the application.swf again.
Original comment by gnome....@googlemail.com
on 6 Nov 2013 at 8:40
I havent had a crash during game play since i changes permissions for the game
from regular to start as admin. I havent updated to 2924 yet, but it was workin
at 2920 for me
Original comment by MaxPoth...@gmail.com
on 6 Nov 2013 at 9:06
Last news:
0.8.8 original & patched Application.swf both work under SWFDump
0.8.9 original Application.swf works under SWFDump
0.8.9 desasm/reasm (so no change) DOESN'T WORK under SWFDump (reference error
while dumping)
The disassembler is the cause of the issue; and if we consider the diff
maca.pavel posted, the fail occurs during the dissassembling process.
Original comment by edgar.fo...@gmail.com
on 6 Nov 2013 at 10:04
um... maybe WG updated to newer Scaleform version?.. dunno if it makes any
sense but still...
Original comment by gene...@gmail.com
on 6 Nov 2013 at 10:51
...and newer Scaleform parts may have some countermeasures against
decompilation for example...
Original comment by gene...@gmail.com
on 6 Nov 2013 at 10:54
SWFDump managed to disassemble the original file flawlessly so it's definitely
not an additionnal protection.
Original comment by edgar.fo...@gmail.com
on 6 Nov 2013 at 11:48
What features I lose if I delete application.swf ?
thx !
Original comment by lionel.f...@gmail.com
on 6 Nov 2013 at 11:50
All hangar-related features: profile, crew, ping, company stats, ...
Original comment by edgar.fo...@gmail.com
on 7 Nov 2013 at 12:03
i haven`t had a crash with 2924.
Done about 40 battles with it and no crash
Original comment by ulisses....@gmail.com
on 7 Nov 2013 at 1:55
Deleting application.swf makes the game loading tankers forever - that is not
completing the game startup at all.
Original comment by Erik.It...@gmail.com
on 7 Nov 2013 at 2:00
thank you for the answer !
I don't want delete application.swf, I hope someone will find a solution...
I did 25 battles yesterday with the 2924 build and the game crashed three
times, including once during the battle!
Original comment by lionel.f...@gmail.com
on 7 Nov 2013 at 6:22
From
http://www.koreanrandom.com/forum/topic/6108-%D0%BD%D0%BE%D1%87%D0%BD%D1%8B%D0%B
5-%D0%B2%D0%B5%D1%80%D1%81%D0%B8%D0%B8-xvm-nightly-builds/page-42 it seems that
avatar.py fails when calling __destroyGUI(self) . The first call in that
function is g_battleContext.fini(). Decompiling client/gui/battlecontext.pyc
I get:
def fini(self):
self.isInBattle = False
self.__playersVIDs.clear()
self.__squadManVIDs.clear()
self.__teamKillerVIDs.clear()
self.__squadID = None
arena = getattr(BigWorld.player(), 'arena', None)
if arena is None:
arena.onNewVehicleListReceived -= self.__arena_onNewVehicleListReceived
arena.onVehicleAdded -= self.__arena_onVehicleAdded
arena.onTeamKiller -= self.__arena_onTeamKiller
return
This looks for me like likely culprit. I mean the line if arena is None is
missing negation probably. Can somebody smarter than me check that?
Original comment by pko...@gmail.com
on 7 Nov 2013 at 8:01
And WG do not share even bits of code? not even hint what ma be wrong? They
have mods support in client, they could have mods support in staff too.
#134 #135 Deleting application.swf also disables all features of battle loading
screen. However, everything in battle itself works.
Original comment by cz.Rui...@gmail.com
on 7 Nov 2013 at 8:09
r2924 no crash during yesterday evening session.
I have only XVM, j1mb0 crosshair and session statistics
some clan mates have crashes without any mod,
so I think that now could not be XVM related
Original comment by nuci...@gmail.com
on 7 Nov 2013 at 11:18
^^ You have to be careful not to pollute the issue, its the old 'the internet
isn't working' mentality.
There is a crash to desktop (CTD) issue under the new 8.9 patch.
The dev's are also unhappy with how the XVM code is decompiling/compiling.
The two may be related and the consensus is that they are related. When the
dev's suss out the code problem lets hope this intern fixes the CTD issue.
This thread should really be kept clear for Dev speak it isn't an open forum..
ChEeSy
Original comment by cheesybo...@cheesyboofs.co.uk
on 7 Nov 2013 at 12:08
>0.8.9 desasm/reasm (so no change) DOESN'T WORK under SWFDump (reference error
while dumping)
Can not confirm, RABCDasm 1.14 from sources, Ubuntu 13.10 amd64
Reasm file works under SWFDump v0.9.2+ds1-3
Original comment by pavlushko.m@gmail.com
on 7 Nov 2013 at 1:09
try solution in post nr 570 -> it WORKS
Original comment by e...@wp.pl
on 7 Nov 2013 at 1:50
Issue 570 has been merged into this issue.
Original comment by pavlushko.m@gmail.com
on 7 Nov 2013 at 2:03
Black Screen after every single game with Version 2925
(No CTD or Black Screen) without application.swf
Original comment by maininqu...@yahoo.de
on 7 Nov 2013 at 7:02
pavlushko.m, RABCDasm 1.14 pre-compiled binaries under Windows 7 x64, using
1.make-patched-swfs.bat with no patch:
http://i.imgur.com/44GqYRZ.png
(latest SWFTools dev snapshot for Windows: swftools-2013-04-09-1007.exe)
Original comment by edgar.fo...@gmail.com
on 7 Nov 2013 at 7:09
Still crashing at the end of battles (return to desktop)... Only "basic" XVM,
no other mods...
Everythings works fine without xvm, of course...
Microsoft Vista / Geforce 9500
Original comment by fred.0...@gmail.com
on 7 Nov 2013 at 8:37
Hmm...
Swfdump crashes under ubuntu 13.04 (nightly builds) patched file.
But I can't reproduce swfdump crash with recompiling or even patched file under
my local Ubuntu 13.10.
My patched file http://www.koreanrandom.com/forum/topic/6108-/?p=124357
Original comment by pavlushko.m@gmail.com
on 7 Nov 2013 at 8:54
Interesting, I think we need more testing on this: is it a OS-related SWFDump
or RABCDAsm issue?
I'll make MD5 checksums and diffs of SWF and Dumps to see which one is the
culprit.
To the people following the issue, please try pavlushko.m's Application.swf.
Original comment by edgar.fo...@gmail.com
on 7 Nov 2013 at 9:14
Original issue reported on code.google.com by
pedrofsp...@gmail.com
on 30 Oct 2013 at 3:07