PDA

View Full Version : The Access violation


Excalibur
Aug 11, 2007, 02:29 AM
What kind of different things cause access violations in levels?

While I'm trying to host one level, nothing's wrong in it, but it gives access violation after the rabbit has stopped blinking.

Cpp
Aug 11, 2007, 02:40 AM
Access violations are normally caused when jj2 tries to read/write to a part of memory where it is not allowed to do so. Most of the time this is the fault of a bad pointer, which is the result of "bad" jj2 coding and lack of error checking. The only thing I can currently think of, which results in an AV is when you place a trigger/scenery event on a flipped animating tile, but there are definitely more. If that level is the only place where the AV occurs then its probably a matter of level design itself. Otherwise there can be something wrong with your jj2, likely your animation library.

blurredd
Aug 11, 2007, 07:37 AM
Access Violation, although it's outdated and poorly written...

Jerrythabest
Aug 14, 2007, 03:32 AM
Same happens to me with his level file. Save & Run works normally though. It's only crasing when hosting.

Soulweaver
Aug 14, 2007, 09:15 AM
Access Violation, although it's outdated and poorly written...

Also, Access Violation in common: http://en.wikipedia.org/w/index.php?title=Access_violation or http://www.knowledgerush.com/kr/encyclopedia/Access_violation/

KolakCC
Aug 19, 2007, 05:36 AM
Garr.. When playing single player, if i warp once, then again, i get an access violation. The problem started with only lori, then moved to jazz, and now spaz.
I have been messing around in anims.j2a and the results are ----v i only messed with those and don't see how the warp could be broken. Please help...

EDIT: replaced the anims.j2a, it still doesn't work... :(
If this matters to andybody...
WIN: Jazz Jackrabbit 2 has caused an access violation at address 0046D033h by attempting to "read" from address 00000000h from jazz2.log

Also noticing that if i jump on a certain place, iget an access vio too..
pic of access vio:
http://kolakcc.ath.cx/access%20vio.bmp (http://kolakcc.ath.cx/access%20vio.bmp)

Just make sure you get another Jazz2.log and it might actually work!

Unfortunatly its not that easy. =P

Didn't help :p

Vegito
Aug 19, 2007, 07:16 AM
Just make sure you get another Jazz2.log and it might actually work!

Unfortunatly its not that easy. =P

Cpp
Aug 19, 2007, 07:34 AM
WIN: Jazz Jackrabbit 2 has caused an access violation at address 0046D033h by attempting to "read" from address 00000000h from jazz2.logHmm, I don't have the function at 0046DBB0 (TSF: 0046D000) commented. It must be something I haven't come across yet. The error seems to happen in this particular line:

0046D033 MOV CX,WORD PTR DS:[EDX+EAX*2]

This is a read instruction, which confirms my suspicion that AV is caused by a bad pointer. As stated in your error message, EDX+EAX*2 must be resulting in a 0. The question is what causes it, but I fear I cannot answer that just yet. I'll see if I can find something interesting.

Cpp
Aug 19, 2007, 08:07 AM
Well if you manage to capture the error screen with all the registers, that'd be nice.

KolakCC
Aug 19, 2007, 08:11 AM
been there done that,http://kolakcc.ath.cx/access%20vio.bmp

Cpp
Aug 19, 2007, 09:35 AM
The registers you posted don't tell much on what's going on as some of them get XOR-ed out. The symptoms become apparent in this function (it's 1.23), but the source of the problem could be much harder to find. I can only guess what the problem is, since I can't reproduce it.

0046DBB0 MOV EAX,ECX
0046DBB2 XOR ECX,ECX
0046DBB4 MOV CX,WORD PTR DS:[54956B]
0046DBBB SUB EAX,ECX
0046DBBD JNS SHORT 0046DBC2
0046DBBF XOR EAX,EAX
0046DBC1 RET
0046DBC2 MOV ECX,EAX
0046DBC4 SHL ECX,4
0046DBC7 ADD ECX,EAX
0046DBC9 LEA ECX,DWORD PTR DS:[EAX+ECX*8]
0046DBCC XOR EAX,EAX
0046DBCE MOV AL,BYTE PTR DS:[ECX+54B175]
0046DBD4 DEC EAX
0046DBD5 CMP EDX,EAX
0046DBD7 JNB SHORT 0046DBDB
0046DBD9 MOV EAX,EDX
0046DBDB MOV EDX,DWORD PTR DS:[ECX+54B176]
0046DBE1 XOR ECX,ECX
0046DBE3 MOV CX,WORD PTR DS:[EDX+EAX*2]
0046DBE7 MOV EAX,ECX
0046DBE9 RET

Jerrythabest
Aug 19, 2007, 11:17 AM
Okay, so where did you get the JJ2 source?

Birdie
Aug 19, 2007, 12:25 PM
That isn't really the JJ2 source, that is just the asm (machine code) that makes up jazz2.exe itself.

Dermo
Aug 19, 2007, 04:33 PM
Okay, so where did you get the JJ2 source?

http://i92.photobucket.com/albums/l30/drmooismyname/sigh_big.gif

http://i92.photobucket.com/albums/l30/drmooismyname/intel-inside-idiot-outside.jpg

Jerrythabest
Aug 20, 2007, 12:39 AM
LOL I expected at least a *sigh* reply, but that second image was funnier ;p

He just talked like he had the source ;p "Oh I haven't got it commented but it's this and that line which does that so it must be something with this and that"

See? ;p

KolakCC
Aug 20, 2007, 02:29 AM
Okay, so where did you get the JJ2 source?
http://t-arty.com/images/designslarge/noob.jpg

Sooo.... how do i fix the problem..?

RAWR: Can't host anymore T_T
http://kolakcc.ath.cx/access%20vio2.bmp

EDIT: Just a note... this is all TSF..

Cpp
Aug 20, 2007, 03:40 AM
He just talked like he had the source ;pMaybe I do ;-)
Sooo.... how do i fix the problem..?Can you tell me exactly how to reproduce it?

KolakCC
Aug 20, 2007, 03:52 AM
Just noticed that it only happens on 1 level...

1: start in SP
2: text
3: Trigger zone
4: p-up get
5: warp
6: save point
7: warp
8: AV

Cpp
Aug 20, 2007, 04:03 AM
Could you please specify the level (file)name and where to get it?

KolakCC
Aug 20, 2007, 04:16 AM
(link)

Cpp
Aug 20, 2007, 04:37 AM
Okay, I feel guilty for helping you out... because I hate hotels. But here's your problem. As I said, if it happens in a single level it's probably a matter of bad level design... which it is. Apparently you have some flipped tiles with certain events on them that are not supposed to be there. Remember! Scenery events on flipped tiles... bad idea.

http://img385.imageshack.us/img385/8092/bugjx4.th.jpg (http://img385.imageshack.us/my.php?image=bugjx4.jpg)

KolakCC
Aug 20, 2007, 04:41 AM
Okay, I feel guilty for helping you out... because I hate hotels. But here's your problem. As I said, if it happens in a single level it's probably a matter of bad level design... which it is. Apparently you have some flipped tiles with certain events on them that are not supposed to be there. Remember! Scenery events on flipped tiles... bad idea.

http://img385.imageshack.us/img385/8092/bugjx4.th.jpg (http://img385.imageshack.us/my.php?image=bugjx4.jpg)

LOOOOL I am such a nooblet >_<

Jerrythabest
Aug 20, 2007, 04:44 AM
But this didn't solve Chaos's problem.

Cpp
Aug 20, 2007, 04:45 AM
But this didn't solve Chaos's problem.
In order to solve something I need more info...

Jerrythabest
Aug 20, 2007, 06:42 AM
Chaos, come here and post your level.

Sucer
Sep 9, 2007, 04:53 AM
xdddd

Jerrythabest
Sep 9, 2007, 01:11 PM
Okay, that was undoubtedly chaos posing. But he didn't post the level.

Xobim
Sep 10, 2007, 12:26 PM
While we're talking about AVs, does anybody actually know why JJ2 gets an access violation when playing .it files?

Birdie
Sep 10, 2007, 02:20 PM
It can be because of the size of the file, or because of some of the effects the module uses.

Xobim
Sep 11, 2007, 06:33 AM
It must be those effects that the galaxy mod system can't play. JJ2 needs a new module player!

Jerrythabest
Sep 11, 2007, 06:38 AM
JJ2 needs a lot new stuff IMHO

dhudk
Jan 1, 2015, 04:01 AM
Well, here's a big problem:

Until about two months ago, I played JJ2 tsf (The Secret Files) and EVERY thing was FINE. I played the game with no problems at all.
Since October 2014, I didn't play it anymore, even once until today. I tried to run the game today. But this time, the game didn't even start, and I see this message right on the spot:


Application Error - Access Violation

Access Violation
Jazz Jackrabbit 2 has caused an access violation at address 055B05E3h by attempting to address 0055B05E3h.

DS = 002Bh EAX = 3h
ES = 002Bh EBX = 55B2050h
FS = 0053h ECX = 3DBE4A0h
GS = 002Bh EDX = 55B2E18h
CS:EIP = 0023h:055B05E3h ESI = 2000h
SS:ESP = 002Bh:0628FE5Ch EDI = 2000h
SS:EBP = 0023h:00000DC8h EBP = DC8h

I'm running Windows 8.1 x64 (64 bit) on my PC.
Anybody knows what is this error and how do I get it fixed???
Thx for any help!

Nick1416
Jan 1, 2015, 07:08 AM
Hmm, I can't make up what is causing the access violation from this (maybe there are people on this forum who can). But make sure to try things like starting the game as administrator, or check if you aren't missing any files in your JJ2 folder. And if all of that doesn't work I'm thinking of re-installing the game, but since I'm no expert in acces violations I would consider trying out the other things and waiting for replies since the solution might be way simpler :P Good luck!

dhudk
Jan 1, 2015, 09:48 AM
Hmm, I can't make up what is causing the access violation from this (maybe there are people on this forum who can). But make sure to try things like starting the game as administrator, or check if you aren't missing any files in your JJ2 folder. And if all of that doesn't work I'm thinking of re-installing the game, but since I'm no expert in acces violations I would consider trying out the other things and waiting for replies since the solution might be way simpler :P Good luck!

Thanks) But I have already tried all of the above things you suggested and none of them worked. All the files I had in the game were left untouched till today, everything seems to be in place.

Anyway, I'll wait for more suggestions and see where it goes..

btw, the game seemed to be running perfectly when I restarted my PC and boot it into safe mode. I could play the game as anytime as before. And still, after I reboot the PC into the regular state, I tried to run the game once again and it seems that this error actually never gone. :!
It doesn't bother me if I play it on safe mode, but the only problem is that on safe mode I don't have sound. Also, it's uncomfortable for me to do the other stuff I need on the PC while on safe mode and other features that I need are disabled such as browsing the internet.

Seren
Jan 1, 2015, 10:27 AM
Show us contents of jazz2.log from after a crash.

dhudk
Jan 1, 2015, 10:37 AM
Show us contents of jazz2.log from after a crash.

Here it is:

LOG: GRADE (Build 98-194W), Executable: D:\Jazz Jackrabbit 2-The Secret Files\Jazz2.exe
LOG: Jazz Jackrabbit 2 version 1.24

WIN: Running Microsoft Windows NT version 6.2, Build 9200
CPU: Intel Pentium II processor found
CPU: Processor Vendor ID 'GenuineIntel', Family 6, Model 12, Stepping 3
CPU: Processor Features BFEBFBFF (FPU, MMX)
VID: Checking for available video modes
VID: DirectDraw v6.3.9600.16384 found
VID: Video memory 2083552Kb (1Kb Free), AGP memory 2118788Kb (2118788Kb Free)
VID: Direct3D found
NET: WinSock v2.2 "WinSock 2.0", Status: Running, Host: dhudk
SND: Galaxy Music System v5.0a
SND: Detected DirectSound driver
---- Starting execution: invoke MainProg()

VID: Closing display (DIBSection)
4 macro files found in current directory
Reading animation library
WIN: Jazz Jackrabbit 2 has caused an access violation at address 05C905E3h by attempting to address 05C905E3h

Treylina
Jan 1, 2015, 10:49 AM
You should download and install JJ2+, open Jazz2+.exe, and see if it fixes that AV for you.

http://www.moddb.com/mods/jazz-jackrabbit-2-plus/downloads/october-30th-2013-release

dhudk
Jan 1, 2015, 11:01 AM
You should download and install JJ2+, open Jazz2+.exe, and see if it fixes that AV for you.

http://www.moddb.com/mods/jazz-jackrabbit-2-plus/downloads/october-30th-2013-release

After I open 'plus.exe', a command promt opens. It reads:

JJ2+ Beta Release

Created by BlurredD based on Neobeo's code
With much help from Monolith
And additional code by Grytolle and Cataphract


Type "L" to add levels to the Level List.
Type "Z" to add levels to a zip file.
Type "LZ" to add levels to both the Level List and a zip file.
Type nothing and press [enter] to load JJ2+.
Type "q" to quit.


I press the ENTER key, then a new line appears on the command prompt reading:

Version of JJ2 not supported, press [enter] to exit


And well, what is left for me to do...?

Treylina
Jan 1, 2015, 11:09 AM
Wrong exe, it's plusifier.exe, not plus.exe. I know, plus.exe is terribly named.

Remember to transfer all contents into the corresponding jj2 folder and extract it out of the zip.

Though I have a feeling you have the LK avalon version.

dhudk
Jan 1, 2015, 12:51 PM
Wrong exe, it's plusifier.exe, not plus.exe. I know, plus.exe is terribly named.

Remember to transfer all contents into the corresponding jj2 folder and extract it out of the zip.

Though I have a feeling you have the LK avalon version.

Absolutely right, I have the LK Avalon ver. which is not supported.

dhudk
Jan 2, 2015, 10:05 AM
Well, looks like I've managed to set the PC to run in safe mode with an optimal resolution and with internet connection on. The only problem left is turning the sound on. I googled it and I found various solutions for this issue. Tried all of them and none of them worked...

Any ideas?

Thanks for all those who tried to help me, I appreciate that a lot)

Violet CLM
Jan 2, 2015, 10:51 AM
For a start you might want to list what you already tried.

Seren
Jan 2, 2015, 10:59 AM
If you use the normal, "unsafe" mode of Windows, does JJ2 work when run with the -safe argument?
Apps -> Windows System -> Run:
"D:\Jazz Jackrabbit 2-The Secret Files\Jazz2.exe" -safe