Page MenuHomeSchine - Phabricator

Starmade | Reactor lines have no mesh for stabilizer distance calculation
Closed, FinishedPublic

Description

It looked like it was fixed a while ago, but somewhere along the way it was reintroduced.

A single reactor line, that is more than 3 blocks long (otherwise it doesn't switch over to a mesh), is unable to make a mesh to calculate stabilizer distance with.
The stabilizers will show distance: -1 or ∞

Details

Commits
Restricted Diffusion Commit
Restricted Diffusion Commit
Task Type
Bug
Testing Results
Affected Gamemode(s)
Single and Multi
Reproducible
Yes
Last tested (version)
0.200.176
Category
Control Block System: Systems
First occurrence (version)
0.200.153
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain
Steps to reproduce
  1. Make a reactor line that is longer than 3 blocks, you should see a nullpointer appear in your logs.
Tester information (Internal use only)

Should work, but getting these nullpointers for anything bigger than 4 blocks that is still a line (so no mesh),

java.lang.NullPointerException
#0: 16.0 16.0 14.0
#1: 16.5 16.5 14.5
#2: 15.5 15.5 13.5
#3: 16.0 16.0 15.0
#4: 16.0 16.0 13.0
#5: 16.0 16.0 12.0
java.lang.Exception: Calculating quick hull based on: 6 points
	at org.schema.game.common.controller.elements.power.reactor.MainReactorUnit.calculateExtraDataAfterCreationThreaded(MainReactorUnit.java:111)
	at org.schema.game.common.controller.elements.ElementCollectionCalculationThreadExecution.process(ElementCollectionCalculationThreadExecution.java:391)
	at org.schema.game.common.controller.elements.ElementCollectionCalculationThreadManager$ElementCollectionCalculationThread.run(ElementCollectionCalculationThreadManager.java:217)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
TOLERANCE: 4: -1.0

Should be easy to reproduce, updated steps to reproduce

Serverconfig (server.cfg)
<replace this line with the file content>
Clientconfig (settings.cfg)
<replace this line with the file content>

Event Timeline

lancake created this task.Nov 4 2017, 1:01 PM
lancake set Last tested (version) to 0.200.153.
lancake changed Category from none/unspecified to Control Block System: Systems.
lancake set First occurrence (version) to 0.200.153.
Restricted Application added a project: CBS: Systems. · View Herald TranscriptNov 4 2017, 1:01 PM
schema added a commit: Restricted Diffusion Commit.Nov 6 2017, 11:25 PM
schema changed the task status from In Queue to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed Game Development. · View Herald TranscriptNov 6 2017, 11:25 PM
Restricted Application added a subscriber: AndyP. · View Herald Transcript
schema added a subscriber: schema.Nov 6 2017, 11:26 PM

system will now use bruforce as backup. this means that there wont be any problem even if quickhull fails (which likely only affects small enough reactors in scale)

lancake changed the task status from Resolved to In Queue.Nov 11 2017, 1:45 PM

-QA Testing-

Should work, but getting these nullpointers for anything bigger than 4 blocks that is still a line (so no mesh),

java.lang.NullPointerException
#0: 16.0 16.0 14.0
#1: 16.5 16.5 14.5
#2: 15.5 15.5 13.5
#3: 16.0 16.0 15.0
#4: 16.0 16.0 13.0
#5: 16.0 16.0 12.0
java.lang.Exception: Calculating quick hull based on: 6 points
	at org.schema.game.common.controller.elements.power.reactor.MainReactorUnit.calculateExtraDataAfterCreationThreaded(MainReactorUnit.java:111)
	at org.schema.game.common.controller.elements.ElementCollectionCalculationThreadExecution.process(ElementCollectionCalculationThreadExecution.java:391)
	at org.schema.game.common.controller.elements.ElementCollectionCalculationThreadManager$ElementCollectionCalculationThread.run(ElementCollectionCalculationThreadManager.java:217)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
TOLERANCE: 4: -1.0

Should be easy to reproduce, updated steps to reproduce

Restricted Application edited projects, added Game Development, QA-Return; removed Quality Assurance. · View Herald TranscriptNov 11 2017, 1:45 PM
lancake edited Steps to reproduce. (Show Details)Nov 11 2017, 1:46 PM
lancake edited Tester information (Internal use only). (Show Details)
schema changed the task status from In Queue to Resolved.Nov 13 2017, 6:09 PM

that is fine. The exception is being caught. I'll probably switch the output off at some point

Restricted Application edited projects, added Quality Assurance; removed QA-Return, Game Development. · View Herald TranscriptNov 13 2017, 6:09 PM
lancake changed the task status from Resolved to In Queue.Nov 14 2017, 11:19 AM

Sounds good, putting back in queue so it's not forgotten. It should not reach release as it will be misleading for many players looking into their logs.

Restricted Application edited projects, added Game Development, QA-Return; removed Quality Assurance. · View Herald TranscriptNov 14 2017, 11:19 AM
schema added a commit: Restricted Diffusion Commit.Nov 14 2017, 2:59 PM
schema changed the task status from In Queue to Resolved by committing Restricted Diffusion Commit.
Restricted Application edited projects, added Quality Assurance; removed QA-Return, Game Development. · View Herald TranscriptNov 14 2017, 2:59 PM
lancake closed this task as Closed.
Restricted Application removed a project: Quality Assurance. · View Herald TranscriptNov 23 2017, 5:07 PM
Restricted Application removed a subscriber: AndyP. · View Herald Transcript
lancake changed Last tested (version) from 0.200.153 to 0.200.176.Nov 23 2017, 5:07 PM