Tinkers' Mechworks

Tinkers' Mechworks

19M Downloads

Signal Bus and WAILA

Maleia opened this issue ยท 23 comments

commented

Signal buses placed in the world when looking at them with WAILA installed crashes the client.

http://pastebin.com/4UDyT2nx

Latest versions of both mods; server/client set up.

commented

Reopening for re-investigation.

commented

Like what i said, SignalBusLogic override getWorldObj() and can return null. Then WAILA throw NPE when trying to sync it. Still cant get necessity of overriding it. I guess Pneumatic Craft also registered all blocks/TEs including Signal Bus.

commented

Thanks @exzhawk for the heads up,
going back into the comments history I found this 66db052#diff-ac35dad23b06a113f9b89b9b9804fb96, so it was added for some fix.

The comment includes multiple fixes and message is vague regarding the type of fixes were done, will see if removing the override would cause issues.

commented

Fixed in OmniOcular build58. I exclude SignalBus when registering waila hooks.

commented

I don't have OmniOcular, but I get the same crash. Just updated to the latest WAILA/TMech builds (TMechworks-1.7.10-0.2.14.100.jar and Waila-1.5.10_1.7.10.jar) and it didn't change. I love both mods, but after the 1.7 update to TMech, I've only been able to use basic drawbridges - I tried using an advanced one and crashed, ClassCastException when some code was running on the wrong side in TMech. I've lost count of how many times I've had to load my world in mcedit and remove a block from TMech just so I could go back in.

commented

Are we sure it's not on @ProfMobius 's side?

commented

Considering all of the issues with Signal Bus and Drawbridges in the past, I figured it would be helpful to notify. I posted to both of ya'lls' threads.

Edit: however, my current fix is simply to disable the Signal Bus from my server so .... I had no other option. Removing WAILA was not an option, and there was no way to disable it from attempting to draw the information from the Signal Bus.

commented

Does this happen when the pop-up is hidden?

commented

The overall location of the crash on my side makes very little sense.

55  public Message0x01TERequest(TileEntity ent, HashSet<String> keys){
56      this.dim  = ent.getWorldObj().provider.dimensionId;
57      this.posX = ent.xCoord;
58      this.posY = ent.yCoord;
59      this.posZ = ent.zCoord;
60      this.keys = keys;
61  }

Looks like the client is passing a broken TE to the request packet. From what I see, the TE has a null posX value, which shouldn't be possible.

commented

Yes it does.

commented

What earliest version of TMech does this work with?
The last commit I can see that would really make a difference would be 6b209c4

commented

I was totally unaware of this problem. I'm going to run some tests on my side to see what is going on.
The really weird part is that it is happening at a location where everything is supposed to be set on the TE side, on a field that isn't supposed to be null.

commented

It has never worked for us in 1.7.10 (We were previously using 1.6.4) so I don't have a clear answer; we initially tried TMech 0.2.13.96; but it was also suffering from the same issue, and why we attempted updating.

commented

I can't reproduce the problem. By the look of it, it might be an xmod problem without another mod doing something to the TE while Waila is processing it.
Any chance you can provide a list of mods and what version of Forge or Cauldron you are running ?

commented

Hmm, here is the entire list of mods (yea, we have a lot).

Forge 1307

OmniOcular
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
ProjRed|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
ThaumicTinkerer@unspecified,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
NEIAddons|[email protected],
[email protected],
[email protected] - 0.1 ALPHA,
[email protected],
[email protected],
CoFH ASM@000,
NEIAddons|[email protected],
NEIAddons|[email protected],
[email protected],
[email protected],
ProjRed|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
ProjRed|[email protected],
[email protected],
ProjectZulu|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
STPPlugin@,
ivtoolkit@IvToolkit,
[email protected],
[email protected],
[email protected],
[email protected],
ProjRed|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected] Build 7.0.1,
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
NEIAddons|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
ProjRed|[email protected],
[email protected],
[email protected],
[email protected],
[email protected],
[email protected],

I removed a few recurring compatibility mods (MFR/Dynamic Lights) from the list since it only inflated them.

commented

Any chance you can start with only Waila + Mechwork and add back mods slowly until you find the 3rd mod breaking things up ?
I was not able to reproduce the prb with only Waila and Mechwork, so another mod must be triggering the prb.

commented

Yes, it might take some time here but I'll start now.

commented

Okay, I have some information, I was able to strip down to the barest of mods and replicate the issue. Having:

Mantle 0.3.2
NBTEdit
OmniOcular 1.0build28
TConstruct 1.83b
TMechworks 0.2.14.100
WAILA 1.5.10
CodeChickenCore 1.0.4.29
NEI 1.0.4.90

I am able to replicate the issue.

It happened once I installed OmniOcular, I would like to point out that we were having the issue before when using WAILANBT as well. But since we updated the entire set of WAILA/Harvestablity, and TMechworks, it wasn't clear.

If I need to send this information off to another party, let me know; happily do so and reference this ticket :)

commented

Whoot, didn't even know someone remade WailaNBT (it was mostly a small debugging tool I made) and made it way better. That's cool.
Can you tell me something ? Do you have any rules for Signal Buses in your OmniOcular config ? And if so, can you remove the rule and try again ?
Also, can you try to add a rule for another block with TileEntity and see if it crashes ?

With those new results, I suspect now that they are making a copy of the TileEntity to display in the tooltip, but this TE is never registered properly with the world (hence the crash you are observing).

commented

I haven't done anything special to OmniOcular, so it's running on default settings. (We've only been using it for a few days now, and haven't had time to fully investigate what we can do with it other than editing NBT items).

I don't have the capacity to make changes to the OO's config really and will have to get with one of my other team members, which will take some time. In the mean time though, I'll send this ticket over to Omni. Unless you think there's anything else Prof, then I think this is concluded here and we'll remove OmniOcular for the time being.

commented

Can't really think of anything else.
I will check OmniOcular code when I have time. Really interrested in the whole XML described module system :)
Maybe I will be able to pinpoint more precisly where the prb occurs.

Cheers.

I think this issue should be closed since it is neither a direct Waila or Mechworks problem.

commented

Okeo, Closing the issue. :)

commented

SignalBusLogic class override the getWorldObj() method. OmniOcular requests Waila sync all TileEntity. When SignalBusLogic is being synced, Waila call getWorldObj and get a null.
I rarely see one override getWorldObj method... is it so necessary in SignalBusLogic?