Special Aircraft Service

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: A suddenly appearing Java problem  (Read 218 times)

0 Members and 1 Guest are viewing this topic.

WxTech

  • Modder
  • member
  • Offline Offline
  • Posts: 1584
A suddenly appearing Java problem
« on: January 23, 2020, 11:51:09 PM »

Just now has this reared its head...

While adding a gun sight to a plane and doing some testing, upon hitting with my guns a large caliber AAA gun on the ground the game goes into 'ULTRA slide show mode' (as bad as 2-4 seconds per frame!) and puts this group of errors in log.lst:

Code: [Select]
[6:32:22 AM] null
[6:32:22 AM] java.lang.NullPointerException
[6:32:22 AM] at com.maddox.il2.engine.ActorHMesh.collisionR(ActorHMesh.java:21)
[6:32:22 AM] at com.maddox.il2.engine.CollideEnvXY.removeStatic(CollideEnvXY.java:1418)
[6:32:22 AM] at com.maddox.il2.engine.ActorPosStatic.clearEnvs(ActorPosStatic.java:283)
[6:32:22 AM] at com.maddox.il2.engine.ActorPosStatic.destroy(ActorPosStatic.java:308)
[6:32:22 AM] at com.maddox.il2.engine.Actor.destroy(Actor.java:758)
[6:32:22 AM] at com.maddox.il2.engine.ActorMesh.destroy(ActorMesh.java:49)
[6:32:22 AM] at com.maddox.il2.engine.ActorHMesh.destroy(ActorHMesh.java:66)
[6:32:22 AM] at com.maddox.il2.objects.vehicles.artillery.ArtilleryGeneric.destroy(ArtilleryGeneric.java:549)
[6:32:22 AM] at com.maddox.il2.engine.Engine.destroyListGameActors(Engine.java:152)
[6:32:22 AM] at com.maddox.il2.engine.Engine.resetGameClear(Engine.java:197)
[6:32:22 AM] at com.maddox.il2.game.Main.resetGameClear(Main.java:131)
[6:32:22 AM] at com.maddox.il2.game.Main3D.resetGameClear(Main3D.java:1999)
[6:32:22 AM] at com.maddox.il2.game.Main.resetGame(Main.java:144)
[6:32:22 AM] at com.maddox.il2.game.Mission.clear(Mission.java:701)
[6:32:22 AM] at com.maddox.il2.game.Mission.destroy(Mission.java:662)
[6:32:22 AM] at com.maddox.il2.gui.GUISingleStat.doNext(GUISingleStat.java:47)
[6:32:22 AM] at com.maddox.il2.gui.GUIStat$DialogClient.notify(GUIStat.java:331)
[6:32:22 AM] at com.maddox.gwindow.GWindow.notify(GWindow.java:144)
[6:32:22 AM] at com.maddox.gwindow.GWindowDialogControl._notify(GWindowDialogControl.java:51)
[6:32:22 AM] at com.maddox.il2.gui.GUIButton._notify(GUIButton.java:18)
[6:32:22 AM] at com.maddox.gwindow.GWindowDialogControl.mouseClick(GWindowDialogControl.java:86)
[6:32:22 AM] at com.maddox.il2.gui.GUIButton.mouseClick(GUIButton.java:22)
[6:32:22 AM] at com.maddox.gwindow.GWindow._mouseButton(GWindow.java:556)
[6:32:22 AM] at com.maddox.gwindow.GWindowRoot.doMouseButton(GWindowRoot.java:251)
[6:32:22 AM] at com.maddox.gwindow.GWindowManager.doMouseButton(GWindowManager.java:69)
[6:32:22 AM] at com.maddox.il2.engine.GUIWindowManager.msgMouseButton(GUIWindowManager.java:126)
[6:32:22 AM] at com.maddox.rts.MsgMouse.invokeListener(MsgMouse.java:98)
[6:32:22 AM] at com.maddox.rts.Message._send(Message.java:1217)
[6:32:22 AM] at com.maddox.rts.Message.sendToObject(Message.java:1191)
[6:32:22 AM] at com.maddox.rts.Message.sendToArray(Message.java:1147)
[6:32:22 AM] at com.maddox.rts.Message.sendTo(Message.java:1128)
[6:32:22 AM] at com.maddox.rts.Message.trySend(Message.java:1115)
[6:32:22 AM] at com.maddox.rts.Time.loopMessages(Time.java:180)
[6:32:22 AM] at com.maddox.rts.RTSConf.loopMsgs(RTSConf.java:101)
[6:32:22 AM] at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.java:131)
[6:32:22 AM] at com.maddox.il2.game.Main.exec(Main.java:449)
[6:32:22 AM] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java:235)

This does not occur for smaller calibre guns or other objects/planes that I've tried so far.

Even more weirdly, it seems that if I'm in range of one of those large AAA guns, but I strike *other* ground objects that otherwise cause no issue, the same problem occurs.

I have done no recent modding of any guns at all.

I'm running 4.12.2 modact 5.3.

Any clues as to what's suddenly happened?
Logged

SAS~Storebror

  • Editor
  • member
  • Offline Offline
  • Posts: 19157
  • Failure is not an option.
    • What goes around comes around, you'll see
Re: A suddenly appearing Java problem
« Reply #1 on: January 24, 2020, 01:57:34 AM »

The relevant line of code reads:
Code: [Select]
return mesh().collisionR();The NullPointerException means that mesh() equals null.
Wild guess: Do the objects which you hit there miss a valid dead mesh?
You might find a hint of the cause of this issue earlier in the same log.

]cheers[
Mike
Logged
While love lives, while suns set, while snowmoons rise in november skies, while ties bind, while souls cry, while oceans ride in an endless tide, while love grows, while blood flows, while truth is real you need never feel alone.
In loving memory of times when I cared.

WxTech

  • Modder
  • member
  • Offline Offline
  • Posts: 1584
Re: A suddenly appearing Java problem
« Reply #2 on: January 24, 2020, 11:16:47 PM »

Mike,
You were right about looking farther up in the log. Of course!

So. Got round to another test, on the Moscow winter map. First instance of the problem as reported, with the first group of various associated Java errors:

Code: [Select]
[5:56:12 AM] INTERNAL ERROR: Can't open file '3do/Artillery/Germany/Flak18_88mm_W/Dead_256.tga'
[5:56:12 AM] WARNING: object '3do/Artillery/Germany/Flak18_88mm_W/Dead_256.tga' of class 'TTexture2D' not loaded
[5:56:12 AM] INTERNAL ERROR: Texture required
[5:56:12 AM] WARNING: object '3do/Artillery/Germany/Flak18_88mm_W/dead_mip_1.mat' of class 'TMaterial' not loaded
[5:56:12 AM] INTERNAL ERROR: Material: Can't load 'dead_mip_1.mat'
[5:56:12 AM] com.maddox.il2.engine.GObjException: Mesh 3do/Artillery/Germany/Flak18_88mm_W/Dead.sim not created
[5:56:12 AM] at com.maddox.il2.engine.Mesh.<init>(Mesh.java:419)
[5:56:12 AM] at com.maddox.il2.engine.ActorMesh.setMesh(ActorMesh.java:72)
[5:56:12 AM] at com.maddox.il2.engine.ActorHMesh.setMesh(ActorHMesh.java:86)
[5:56:12 AM] at com.maddox.il2.objects.vehicles.artillery.ArtilleryGeneric.setMesh(ArtilleryGeneric.java:586)
[5:56:12 AM] at com.maddox.il2.objects.vehicles.artillery.ArtilleryGeneric.Die(ArtilleryGeneric.java:481)
[5:56:12 AM] at com.maddox.il2.objects.vehicles.artillery.ArtilleryGeneric.msgShot(ArtilleryGeneric.java:336)
[5:56:12 AM] at com.maddox.il2.ai.MsgShot.invokeListener(MsgShot.java:57)
[5:56:12 AM] at com.maddox.rts.Message._send(Message.java:1217)
[5:56:12 AM] at com.maddox.rts.Message.sendToObject(Message.java:1158)
[5:56:12 AM] at com.maddox.rts.Message.sendTo(Message.java:1134)
[5:56:12 AM] at com.maddox.rts.Message.trySend(Message.java:1115)
[5:56:12 AM] at com.maddox.rts.Message.send(Message.java:1079)
[5:56:12 AM] at com.maddox.il2.ai.MsgShot.send(MsgShot.java:46)
[5:56:12 AM] at com.maddox.il2.objects.weapons.Bullet.collided(Bullet.java:152)
[5:56:12 AM] at com.maddox.il2.engine.MsgBulletCollision.invokeListener(MsgBulletCollision.java:39)
[5:56:12 AM] at com.maddox.rts.Message._send(Message.java:1217)
[5:56:12 AM] at com.maddox.rts.Message.sendToObject(Message.java:1191)
[5:56:12 AM] at com.maddox.rts.Message.sendTo(Message.java:1134)
[5:56:12 AM] at com.maddox.rts.Message.trySend(Message.java:1115)
[5:56:12 AM] at com.maddox.rts.Time.loopMessages(Time.java:252)
[5:56:12 AM] at com.maddox.rts.RTSConf.loopMsgs(RTSConf.java:101)
[5:56:12 AM] at com.maddox.il2.game.MainWin3D.loopApp(MainWin3D.java:131)
[5:56:12 AM] at com.maddox.il2.game.Main.exec(Main.java:449)
[5:56:12 AM] at com.maddox.il2.game.GameWin3D.main(GameWin3D.java:235)

Looked in Static.ini, and found this in the Winter Destroyed section, curiously already REM'd out:

//[buildings.House$Flak_18_88mm_winter_dead]
//Title           Flak_18_88mm_winter_dead
//MeshLive        3do/Artillery/Germany/Flak18_88mm_W/Dead.sim   //No dead_mip_1.mat Fix Me
//MeshDead        3do/Artillery/Germany/Flak18_88mm_W/Dead.sim
//AlignToLand     1
//Body            fuelSmall
//Panzer          0.030

I guess I've got to extract that folder and address this mip_1.mat.

Or maybe I should just remove the "//" characters and see what results. If that fails, a quick temporary fix would be to insert the summer destroyed text. To the entry in Technics.ini as well, of course.

Funny how I've never had this happen before, and I *think* I'm sure I've blasted more than a few of these winter 88s.
Logged

WxTech

  • Modder
  • member
  • Offline Offline
  • Posts: 1584
Re: A suddenly appearing Java problem
« Reply #3 on: January 24, 2020, 11:34:36 PM »

Made the temporary renaming of the dead meshes from winter to summer versions, in both static.ini and technics.ini. That works, and it looks OK, too (damaged stuff is generally a 'mess' anyway ;)  ). I might just keep things as they are, unless something comes over me and demands I straighten matters out properly.

I guess that I mustn't have actually blasted a winter 88 since upgrading to 4.12.2; summer ones, certainly.
Logged
Pages: [1]   Go Up
 

Page created in 0.014 seconds with 27 queries.