CyclopsMC / IntegratedCrafting

Craft stuff in Integrated Dynamics networks
MIT License
7 stars 6 forks source link

Item exporter with craft = true intermittently fails to craft but the job remains active #11

Closed tinyrobot closed 5 years ago

tinyrobot commented 5 years ago

Issue type:


Short description:

An item exporter with 'craft' set to 'true' intermittently has the job listed as active in the crafting job monitor but never completes - it remains listed as the only job and the timer increments but it does not execute.

Steps to reproduce the problem:

I was unable to reproduce this in a creative test world, but in my current survival world:

  1. Have an inventory with bone available
  2. Add a crafting interface to a crafting table with a recipe for bone -> bonemeal
  3. Add an item exporter to an inventory with a variable card for item = bonemeal and 'craft' = true

Expected behaviour:

Job should complete


Versions:

tinyrobot commented 5 years ago

Sorry that I was unable to replicate this in a test world - I left it running for an hour or so but the issue did not occur with a simple setup. I have also checked my logs and can't see anything related to integrated crafting that looks like an error. However - in my survival world this happens consistently.

rubensworks commented 5 years ago

@tinyrobot What happens if you manually start such a crafting job in your world? What do you see in the crafting job terminal as status for the job (after clicking on it)? (screenshot would be nice as well)

tinyrobot commented 5 years ago

Hiya,

I've attached my latest.log anyway, as the issue is present at the moment - screenshots are:

The still in progress job requested via an item exporter with 'craft' set to true: 2019-01-31_19 33 26

The details for that job: 2019-01-31_19 33 39

The job list after requesting manually: 2019-01-31_19 42 46

The detail of the manually requested job: 2019-01-31_19 42 53

If you 'cancel all' then the jobs start working again for a time (I'm not sure what this time period is specifically)

Let me know if there's anything further I can give you, I appreciate it's a tricky one because I can't replicate it!

rubensworks commented 5 years ago

Ah ok, so it only fails sometimes.

tinyrobot commented 5 years ago

Yes, that's right - one thing I forgot to add to my test setup last night is a unidirectional connector linking the 'bone' storage network to the 'crafting' network. I'll do that when I get home and see if that can reproduce it.

tinyrobot commented 5 years ago

I am able to somewhat recreate this in a test world, here is a screenshot of the setup:

2019-02-01_20 17 31

To (somewhat) replicate: with the above setup, save and exit world, then rejoin world. The crafting job for bonemeal should then be an active job, that does not complete.

tinyrobot commented 5 years ago

Also I have confirmed in my 'main' world - replacing the omnidirectional director with a cabled connection resolves the issue on world load - however the issue still comes back after a time. I'm going to remove the remaining monodirectional connector and leave it overnight with just cables and see if that makes a difference.

rubensworks commented 5 years ago

Thanks for the additional information @tinyrobot. I'll try to look into it soon.

tinyrobot commented 5 years ago

No rush :) I left it on all night and the issue did reoccur even hardwiring the network so my feeling is that this is 2 issues probably:

  1. omnidirectional connectors, on world load
  2. in my survival world the issue occurring after a time, even hardwired

I'm happy to split these into 2 issues if that makes things a bit cleaner? The only one I can reproduce is 1 currently although I will keep trying to figure out how to reproduce 2.

rubensworks commented 5 years ago

Sure, could you open a separate issue for 1 at https://github.com/CyclopsMC/IntegratedDynamics with a reproducible test case?

GitHub
CyclopsMC/IntegratedDynamics
A Minecraft mod to take full and automated control of your appliances. - CyclopsMC/IntegratedDynamics
tinyrobot commented 5 years ago

Yep, here you go!

https://github.com/CyclopsMC/IntegratedDynamics/issues/684

rubensworks commented 5 years ago

@tinyrobot I was not able to reproduce the problem. However, I just rewrote a couple of things, and this should make exporter-initiated crafting jobs more stable. Could you check if the problem still occurs for you with the latest dev builds of the following mods?

Build versions (or higher) of the mods to update: ID: 1272 IT: 305 IC: 56

Maven links in the README of each repo.

tinyrobot commented 5 years ago

Thanks @rubensworks!

I updated to the versions as specified. I created a new creative test world with the following setup:

2019-02-04_20 16 43

Left chest contents: 2019-02-04_20 16 58

Exporter: 2019-02-04_20 17 23

Observed crafting job working - save + exit, rejoin world, open crafting monitor: 2019-02-04_20 16 50

latest.log

So the issue seems still to be there for me unfortunately - do you think this could be because I am using a modpack? I'm using the latest DW20 with Integrated- and dependencies updated appropriately. Should I be trying to replicate this with solely Integrated-?

rubensworks commented 5 years ago

Hrmm, in that case I don't really have any clue what could be going wrong...

@tinyrobot After restarting your world, what are the contents of your interface chest? Do you see any bonemeal in there? Or have they all been moved to the output chest already? And is this the same after canceling the job+restarting the world a couple of times?

I'm using the latest DW20 with Integrated- and dependencies updated appropriately. Should I be trying to replicate this with solely Integrated-?

It shouldn't be related to that. But just in case it is, it may indeed be good to try that.

tinyrobot commented 5 years ago

Heya, I've done some tests noting the presence of bonemeal in the interface chest. Each test is a save and exit -> rejoin world.

Test Issue seen? Bonemeal in interface chest? Cancel all jobs pressed?
1 ⬜️
2 ⬜️ ⬜️ ⬜️
3 ⬜️
4
5
6 ⬜️ ⬜️ ⬜️
7 ⬜️ ⬜️ ⬜️
8

On test 8, I clicked 'cancel all' multiple times - the job list cleared, then a new job was added - but the issue came back immediately (job timer increases and it doesn't complete). I did this 4 times - there was always bonemeal in the interface chest.

Sorry this doesn't seem to clear much up :(

rubensworks commented 5 years ago

Thanks for the details information!

You're right, it looks like the presence of bonemeal has no influence on the occurrence of the issue. This does however give me some useful information.

@tinyrobot I assume that each time there was bonemeal in the chest, there were less than 3?

tinyrobot commented 5 years ago

Actually it was exactly 3 each time (the recipe out is 3 bone meal), not sure if that means anything?

rubensworks commented 5 years ago

actually it was exactly 3 each time, not sure if that means anything?

Oh, that means that the crafting job was not detected as being finished, even though the exact recipe output are present, interesting...

Note to self: it's possible that the crafting handler is being executed before the network observers are being registered after a server restart.

rubensworks commented 5 years ago

Ok, good news: I've managed to reproduce this bug myself and fix it!

To be extract sure, could you double-check if the fix also works for you @tinyrobot? ID, IT and ICrafting have been updated, so you can just use the latest dev build for those.

tinyrobot commented 5 years ago

@rubensworks thanks! I've done some testing and I think there's still an issue, although maybe a slightly different one?

Setup:

I updated to the following versions: IntegratedCrafting-1.12.2-1.0.1-59 IntegratedDynamics-1.12.2-1.0.3-1276 IntegratedTerminals-1.12.2-1.0.1-70

Here are the results:

Test Issue seen? Bonemeal in interface chest? Cancel all jobs pressed? Notes
1 ⬜️ ⬜️ ⬜️ na
2 ⬜️ ⬜️ ⬜️ na
3 ⬜️ ⬜️ ⬜️ na
4 ⬜️ ⬜️ ⬜️ na
5 *
6 **
7 ⬜️ ⬜️ ⬜️ na
8 ⬜️ ⬜️ ⬜️ na

* Pressing 'cancel all' - this cancelled the current job, started a new one, and then that job exhibited the issue. Pressed cancel all another few times and exited world with issue persisting. ** Pressing 'cancel all' - this cancelled the current job, started a new one, and then that job exhibited the issue. Pressed cancel all another few times - eventually the issue stopped occurring, at which point exited world (with issue not persisting)

So it seems that if the issue is there when you exit the world, it'll still be there when you rejoin. Would you like me to open a separate issue for pressing 'cancel all' and seeing the issue occur?

Thanks again, let me know if there's a more useful way I can test this - if you think the modpack could be the issue let me know and I will test again with just integrated-* mods.

rubensworks commented 5 years ago

Did you updated Integrated Tunnels as well?

On Wed, Feb 6, 2019, 21:36 Tavis Booth <notifications@github.com wrote:

@rubensworks https://github.com/rubensworks thanks! I've done some testing and I think there's still an issue, although maybe a slightly different one?

Setup:

  • created a new creative test world
  • rebuilt the setup
  • still using a modpack (latest dw20 1.12)

I updated to the following versions: IntegratedCrafting-1.12.2-1.0.1-59 IntegratedDynamics-1.12.2-1.0.3-1276 IntegratedTerminals-1.12.2-1.0.1-70

Here are the results: Test Issue seen? Bonemeal in interface chest? Cancel all jobs pressed? Notes
-------------------------- -------
1 ⬜️ ⬜️ ⬜️
2 ⬜️ ⬜️ ⬜️
3 ⬜️ ⬜️ ⬜️
4 ⬜️ ⬜️ ⬜️
5 *
6 **
7 ⬜️ ⬜️ ⬜️
8 ⬜️ ⬜️ ⬜️
  • Pressing 'cancel all' - this cancelled the current job, started a new one, and then that job exhibited the issue. Pressed cancel all another few times and exited world with issue persisting. ** Pressing 'cancel all' - this cancelled the current job, started a new one, and then that job exhibited the issue. Pressed cancel all another few times - eventually the issue stopped occurring, at which point exited world (with issue not persisting)

So it seems that if the issue is there when you exit the world, it'll still be there when you rejoin. Would you like me to open a separate issue for pressing 'cancel all' and seeing the issue occur?

Thanks again, let me know if there's a more useful way I can test this - if you think the modpack could be the issue let me know and I will test again with just integrated-* mods.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/CyclopsMC/IntegratedCrafting/issues/11#issuecomment-461177766, or mute the thread https://github.com/notifications/unsubscribe-auth/AAa4QOIFQ9_lcOSde9eF173z--uzsUW5ks5vKzzbgaJpZM4aY8_2 .

tinyrobot commented 5 years ago

@rubensworks - sorry, I read 'IT' as 'Integrated Terminals' not Tunnels!

I upgraded Integrated Tunnels to dev build -306 - I ran 20 save/reload cycles and I have not seen the issue so I think it's resolved! Legend.

rubensworks commented 5 years ago

My bad, I should have made that clearer.

I have not seen the issue so I think it's resolved!

🎉