Ticket #673 (assigned defect)

Opened 5 weeks ago

Last modified 4 days ago

Sheep farm is broken (no raw wool)

Reported by: Quassy Owned by: totycro
Priority: major Milestone: 2010.1
Component: Code:Game Keywords:
Cc: Version + SVN ref: 3628
Blocked By: Python Version:
Hardware Architecture: All Operating System: All
Blocking:

Description

In my current game (compressed file attached) a farm is broken. There is an animation of the sheep that gets sheared but it never stops. The farm does not have any raw wool (i18n-de: "Lammwolle") and so it's not producing anything.

Attachments

brokenfarm.7z Download (66.3 KB) - added by Quassy 5 weeks ago.
quicksave-1282422638.3072.sqlite Download (172.0 KB) - added by wentam 2 weeks ago.
uh-farm-crash.sqlite Download (112.0 KB) - added by rudis 4 days ago.

Change History

Changed 5 weeks ago by Quassy

comment:1 Changed 5 weeks ago by kili

  • Component changed from Unspecified to Code:Game
  • Milestone set to 2010.1

comment:2 follow-up: ↓ 3 Changed 3 weeks ago by totycro

  • Owner set to totycro
  • Status changed from new to assigned
  • Version + SVN ref set to 3628

Acctually, this should not happen ;)

For both of the farms, one animal is in the stopped-state, which means it's waiting for the animalcollector (herder) to pick it up.

However both animalcollectors are in the state waiting_for_animal_to_stop, which means they haven't been notified by the animal, that it has already stopped. (The herder always waits for the animal to stop eating before it's collected. the animal is notified that the herder want's to collect it, and as soon as it has finished eating, it tells the herder that it's now ready to be collected; this action has not happened at both farms)

comment:3 in reply to: ↑ 2 Changed 3 weeks ago by totycro

Replying to totycro: the code for that in animal.py:82f is this:

collector.pickup_animal()
self.state = self.states.stopped

and somehow, the second line got executed, but not the first one.

comment:4 Changed 3 weeks ago by totycro

I just produced about 800t of wool, without any problems. Can someone reproduce this bug?

comment:5 Changed 2 weeks ago by wentam

I've had a related issue: There is a sheep on top of the farm building and the sheep roaming around, however the farm is getting no wool for the weavers.

I'm attaching a savegame.

Changed 2 weeks ago by wentam

comment:6 Changed 4 days ago by rudis

Hi. I have the same problem (no wool produced). And I get a crash when I remove the roaming.

Attached is a savegame to reproduce it, remove the left roaming and you should get a crash (created with 72d9973fb5ae790f508205bd21e5d4b2dd9f72be).

I get the following traceback:

 File "/home/simon/unknown-horizons/horizons/gui/mousetools/tearingtool.py", line 78, in mouseReleased
    None
 File "/home/simon/unknown-horizons/horizons/command/__init__.py", line 35, in execute
    None
 File "/home/simon/unknown-horizons/horizons/manager.py", line 55, in execute
    None
 File "/home/simon/unknown-horizons/horizons/command/building.py", line 168, in __call__
    None
 File "/home/simon/unknown-horizons/horizons/world/building/nature.py", line 61, in remove
    None
 File "/home/simon/unknown-horizons/horizons/world/resourcehandler.py", line 82, in remove
    None
 File "/home/simon/unknown-horizons/horizons/world/units/collectors/animalcollector.py", line 64, in cancel
    None
 File "/home/simon/unknown-horizons/horizons/world/units/animal.py", line 66, in remove_stop_after_job
    None
 AssertionError

Traceback (most recent call last):
  File "run_uh.py", line 405, in <module>
    main()
  File "run_uh.py", line 183, in main
    ret = horizons.main.start(options)
  File "/home/simon/unknown-horizons/horizons/main.py", line 153, in start
  File "/home/simon/unknown-horizons/horizons/engine.py", line 329, in run
  File "/home/simon/unknown-horizons/horizons/engine.py", line 337, in loop
  File "/home/simon/FIFE/engine/python/fife/fife.py", line 1777, in pump
RuntimeError: Catched director exception
AL lib: ALc.c:1302: exit() 1 device(s) and 1 context(s) NOT deleted

Changed 4 days ago by rudis

Note: See TracTickets for help on using tickets.