| 06-10-2008, 11:38 PM | #1 | |
I'm posting on behalf of my clan leader who has made a map that is very well made and has been released, but it has some problems with fatal errors. We (the testers) can't identify anything that the fatal errors have in common. They have happened anywhere from 10 minutes into the game to an hour into the game. Some of my clanmates suspect that they have to do with custom models or corrupted abilities. My questions are a) what causes corrupted model files and can we fix it? and b) what causes corrupted spells and abilities that could lead to a crash? We don't know what to look for in the abilities to fix them. I found this on an old post, but I'm not sure what it's about or if it can cause a fatal: Quote:
Also, is there a thread that lists all the causes of leaks? I've looked through the map for any leaks I know how to identify (infinite loops, leaking locations and unit groups) but I know there are other things that can leak. The map does not lag at all (at least for me). The map is oversized with a lot of action but everyone always says they are surprised that it doesn't lag. Thanks to anyone who can answer one or more of my questions. |
| 06-11-2008, 12:42 AM | #2 |
Well for one, any handles (basically anything that isn't a boolean, code, integer, real, or string) will leak. Make sure they're all cleaned. But I don't think those cause fatals. |
| 06-11-2008, 01:29 AM | #3 |
btw infinite loops aren't a leak, they cause fatals Any unit moved/created out of map boundaries causes a fatal I think corrupt models just wouldn't show up in game. Most likely just be an unclickable shadow. I would assume that one of your spells would be the your best bet. |
| 06-11-2008, 01:55 AM | #4 |
Thanks for the input, but what can we look for in the spells that would cause the issues? How can we identify the ones that are broken? |
| 06-11-2008, 04:31 AM | #5 |
I belive NewGen has a program (war3err) that stops crashes and tells you what caused them, although I have never used it. You should look in the NewGen documentation, or ask one of its makers, there is probably more info there. |
| 06-11-2008, 11:36 AM | #6 |
What is the Fatal Error message that you recieve? Some common causes are refering to player numbers above 16 or having infinite loops (as mentioned). The best way to find the culprit would be to test it - thoroughly. Every spell, every trigger, so on. |
| 06-11-2008, 05:26 PM | #7 |
Using Player() on an integer less than 0. Trying to access a negative array index. Using I2H. If you are using handle vars, stop. |
| 06-11-2008, 08:17 PM | #8 |
You can even create fatals without any triggering. I found out that combining critical strike, frost attack and that orc skill which enables splash damage [Abof] can result in a fatal, altough I still don't really get what the actual problem about it is. (for anyone who asks himself why on earth I did that: I wanted to find out why MassacreTD crashes sometimes) |
| 06-11-2008, 09:51 PM | #9 |
Here is a fatal code. Do you guys know if Wc3err works online? War3Build: 1.21.1 Played Maps\Download\Opt.LotSW.w3x Player 0 youshalnotpass1(Blackrock Clan) Race Orc StartLoc 0 Player 1 Railen(Stormreaver Clan) Race Orc StartLoc 1 Player 2 Silentazn(Gilneas) Race Human StartLoc 2 Player 3 UberBJ(Twilight's Hammer Clan) Race Orc StartLoc 3 Player 4 Trashcat_Blight(Dwarves) Race Human StartLoc 4 Player 5 Viper599(Dalaran) Race Human StartLoc 5 Player 6 G93(Bleeding Hollow Clan) Race Orc StartLoc 6 Player 7 Demon_Devil(Stromgarde and Azeroth Survivors) Race Human StartLoc 7 Player 8 XX_Noob(Trolls) Race Orc StartLoc 8 Player 9 TheBeastsShards(High Elves) Race Human StartLoc 9 Player 10 Knightofholland(Lordaeron) Race Human StartLoc 10 Player 11 ShadowofShadows(Dragonmaw Clan) Race Orc StartLoc 11 ================================================== ======= Exception Raised! App: Warcraft III Exception: SIGBUS Error Code: 0x85100084 Time: 2008-06-11 14.40.59 EDT Error: signo: 10, Fault address: 0x00000000, code(2): Nonexistent physical address. Exception State: trapno=14 err=4 Fault address=0x00000000 Registers: eax=$fffffe0a ebx=$00345eeb ecx=$fffffe0a edx=$b019f41c edi=$fffffe0d esi=$00000000 ebp=$b019f1e8 esp=$b019f1d4 eip=$0001a45d ss =$0000001f cs =$00000017 eflags=$00000292 ds =$0000001f es =$0000001f fs =$00000000 gs =$00000037 --------------------------------------------------------- Thread 0 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x00010de9 4 0x000041c8 5 0x000031a6 6 0x0000bdcb 7 0x92de54d7 DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)+0445 8 0x92de4b7c SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)+0130 9 0x92de4a41 SendEventToEventTargetWithOptions+0037 10 0x92dec0e3 ToolboxEventDispatcherHandler(OpaqueEventHandlerCa llRef*, OpaqueEventRef*, void*)+0165 11 0x92de588e DispatchEventToHandlers(EventTargetRec*, OpaqueEventRef*, HandlerCallRec*)+07fc 12 0x92de4b7c SendEventToEventTargetInternal(OpaqueEventRef*, OpaqueEventTargetRef*, HandlerCallRec*)+0130 13 0x92debf7c SendEventToEventTarget+0038 14 0x92e2feb3 ToolboxEventDispatcher+0051 15 0x92e2e8cb RunApplicationEventLoop+00a5 16 0x0000bee6 17 0x00003a8b 18 0x0000643a 19 0x0000278a 20 0x000026a5 21 Thread 1 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x00010de9 4 0x00010e08 5 0x000107c5 6 0x90cdd120 InvokeThreadEntryUPP+000f 7 0x90cdcf39 CooperativeThread+0156 8 0x90024227 pthread_body+0054 9 Thread 2 (Crashed) 0 0x005d6b7f 1 0x002816da 2 0x00281c26 3 0x0001ca42 4 0x000062d9 5 0x9011072c sigtramp+0031 6 7 0x0034618f 8 0x0035b6c6 9 0x0035a0c8 10 0x0014e784 11 0x0014ecd5 12 0x0027096e 13 0x002713fc 14 0x001e3d84 15 0x00594d35 16 0x0059679a 17 0x00596d74 18 0x0000a837 19 0x00004b27 20 0x000107c5 21 0x90cdd120 InvokeThreadEntryUPP+000f 22 0x90cdcf39 CooperativeThread+0156 23 0x90024227 pthread_body+0054 24 Thread 3 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010dcf 5 0x00275cc2 6 0x0027f84e 7 0x0001502b 8 0x00015487 9 0x00015b71 10 0x00016d7c 11 0x00019cd1 12 0x000ab079 13 0x000107c5 14 0x90cdd120 InvokeThreadEntryUPP+000f 15 0x90cdcf39 CooperativeThread+0156 16 0x90024227 pthread_body+0054 17 Thread 4 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010fa5 5 0x00010ffb 6 0x00278803 7 0x005965df 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 5 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x9082d253 CFRunLoopRunSpecific+07de 3 0x9082ca6e CFRunLoopRunInMode+003d 4 0x91469356 HALRunLoop:+009e 5 0x91469171 CAPThread:+005d 6 0x90024227 pthread_body+0054 7 Thread 6 0 0x90047dd7 semaphore_timedwait_signal_trap+0007 1 0x90063baf pthread_cond_timedwait_relative_np+01f9 2 0x914765a4 CAGuard:+00d4 3 0x914764c6 CAGuard:+0042 4 0x91474e42 HP_IOThread:+02b2 5 0x91474b8b HP_IOThread:+0011 6 0x91469171 CAPThread:+005d 7 0x90024227 pthread_body+0054 8 Thread 7 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010fa5 5 0x00010ffb 6 0x00278803 7 0x000182c2 8 0x006469e1 9 0x00405132 10 0x00661e22 11 0x0065da01 12 0x000ab079 13 0x000107c5 14 0x90cdd120 InvokeThreadEntryUPP+000f 15 0x90cdcf39 CooperativeThread+0156 16 0x90024227 pthread_body+0054 17 Thread 8 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x00010de9 4 0x006bb558 5 0x006899d3 6 0x00582172 7 0x005867d8 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 9 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010fa5 5 0x00010ffb 6 0x00278803 7 0x00585b6f 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 10 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x00010de9 4 0x006bb558 5 0x006899d3 6 0x00582172 7 0x00586cfb 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 11 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010fa5 5 0x00010ffb 6 0x00278803 7 0x00586ffa 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 12 0 0x90047dd7 semaphore_timedwait_signal_trap+0007 1 0x90063baf pthread_cond_timedwait_relative_np+01f9 2 0x90ce1da5 TSWaitOnSemaphoreCommon+00a3 3 0x9814580e ReadSchedulerThreadEntryPoint+1273 4 0x90024227 pthread_body+0054 5 Thread 13 0 0x9000520a syscall+000a 1 0x997b2306 CarbonSelectThreadFunc+00de 2 0x90024227 pthread_body+0054 3 Thread 14 0 0x900248c7 semaphore_wait_signal_trap+0007 1 0x900288b4 pthread_cond_wait+01b0 2 0x997ae322 CarbonOperationThreadFunc+00b0 3 0x90024227 pthread_body+0054 4 Thread 15 0 0x900248c7 semaphore_wait_signal_trap+0007 1 0x900288b4 pthread_cond_wait+01b0 2 0x997bdfb5 CarbonInetOperThreadFunc+00d7 3 0x90024227 pthread_body+0054 4 Thread 16 0 0x90009cd7 mach_msg_trap+0007 1 0x90009c38 mach_msg+0048 2 0x90cd40c5 YieldToThread+01c5 3 0x90cdd09c SetThreadState+007c 4 0x00010fa5 5 0x00010ffb 6 0x00278803 7 0x00581e28 8 0x000ab079 9 0x000107c5 10 0x90cdd120 InvokeThreadEntryUPP+000f 11 0x90cdcf39 CooperativeThread+0156 12 0x90024227 pthread_body+0054 13 Thread 17 0 0x9002493f semaphore_wait_trap+0007 1 0x987ceae0 QTThreadWaitSignal+0072 2 0x981d0795 audioprepThreadEntry+005c 3 0x987ce890 start_thread+0036 4 0x90024227 pthread_body+0054 5 Thread 18 0 0x900248c7 semaphore_wait_signal_trap+0007 1 0x900288b4 pthread_cond_wait+01b0 2 0x70017072 DLSMusicDeviceEntry+29da 3 0x70016ea9 DLSMusicDeviceEntry+2811 4 0x70016d36 DLSMusicDeviceEntry+269e 5 0x90024227 pthread_body+0054 6 Thread 19 0 0x90047dd7 semaphore_timedwait_signal_trap+0007 1 0x90063baf pthread_cond_timedwait_relative_np+01f9 2 0x90ce1da5 TSWaitOnSemaphoreCommon+00a3 3 0x90ce1c30 AsyncFileThread(void*)+0048 4 0x90024227 pthread_body+0054 5 ================================================== ======= |
| 06-12-2008, 08:02 AM | #10 |
wc3err does work online. I see something in your code about a non existent physical address, maybe that means you tried to access something that didn't exist (non existent handle, negative array index?) This is just a wild guess though, I really have no idea how to interpert that. |
| 06-12-2008, 07:19 PM | #11 | |
Avrion, you can use [hidden] tags for your error report. Then it's not so huge in the thread.
|
| 06-12-2008, 07:26 PM | #12 |
This is probably not a high probability, but check any item / unit references / ids as well. For one, if a spell was 'A000' and you put 'a000' it could cause fatal errors. Likewise, if a unit is 'h001' and you accidently put 'H001' that could cause a fatal. Make sure those ids are correct. |
| 06-12-2008, 07:51 PM | #13 |
I never changed unit ID. What problems does wrong IDs create? The fatals are completely random, I would think that if there was a problem with IDs, one would always fatal when clicking a corrupt unit. |
| 06-12-2008, 08:42 PM | #14 |
No, if a unitid is incorrect the unit itself wouldn't cause any problems, but referring to a unitid which isn't existing causes the problem. As Squally already explained, if you got a trigger where you use a unitid, for example you create a unit 'H001', but there is no unit to this id the game would crash. |
| 06-12-2008, 11:27 PM | #15 |
Oh, but that would mean there is a trace-able event, however, the fatals are completely random. |
