Refined Storage

Refined Storage

77M Downloads

[1.2-beta2] Clash between two patterns requiring the same item they both produce, during autocrafting

RealGrep opened this issue ยท 1 comments

commented

Issue description:

Crafting a 64k storage drive and 10xRS speed upgrades simultaneously jams up with both tasks showing Printed Silicon in Items Processing list, with both red and reading "Machine in use".

What happens:

Both crafting jobs require printed silicon. They both seem to deadlock with "Machine in use" for that material. Both require it, and both should cause it to be produced. When I manually create one and put it in storage, they both read one less needing to be produced. In this case, the 64k storage drive read "52x Printed Silicon" and the speed upgrades "9x Printed Silicon". Putting one into storage, they both now read "51x Printed Silicon" and "8x Printed Silicon".

It failed differently the first time, but this is the one I have before me now. Timing might be an issue in reproducing this, of course.

What you expected to happen:

For the deadlock to be broken with one crafting task creating printed silicon while the other one reads "Machine in use".

Steps to reproduce:

  1. Craft 64k storage drive and 10x RS speed upgrades at the same time
  2. Wait for it to deadlock

Version (Make sure you are on the latest version before reporting):

  • Minecraft: 1.10.2
  • Forge: 2107
  • Refined Storage: 1.2-beta2

Does this issue occur on a server? [yes/no] Yes

commented

I couldn't reproduce a deadlock in my dev env. But I did fix an issue related to the update of the monitor. Although the monitor can be a bit misleading as for example:

  • Task A and B both need to craft resource R as intermediate product.
  • They both start producing it => both will count towards the counter of the first task before updating the second task.
  • That way task A can be done producing resource R, but still need more of it continue. While task B will have used all the R it needed, but will still show that is processing R.
    In the end all will be good, but it misleading no the less.