Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0000184Dwarf FortressDwarf Mode -- Jobs, Animal Handlingpublic2010-04-02 14:512018-10-07 13:44
Knight Otu 
0000184: After milking/shearing, dwarf cancels next task with "Handling dangerous creature"
When milking completes, and the milking dwarf moves to a new task, that new task is immediately canceled with the message "Handling dangerous creature".
Have a task waiting for the milking dwarf, such that no other dwarves have the appropriate task enabled (so it will still be waiting when the dwarf finishes milking).
jobs, labors, pet
has duplicate 0006688resolved Dwarfu After Milking/Shearing an animal, dwarf attempts to both Haul and take on next job at workshop leading to cancellation 
related to 0004219new  Sheriff cancels X: Handling dangerous creature 
related to 0009722acknowledged Knight Otu Dwarf received new job while handling animal to be shorn, cancels cancels second job (Handling dangerous creature) 
Issue History
2010-04-02 14:51ZaredNew Issue
2010-04-02 15:57DoctorZuberNote Added: 0000312
2010-04-02 16:01ZaredNote Added: 0000313
2010-04-02 18:37FelbloodTag Attached: jobs
2010-04-02 18:38FelbloodTag Attached: pet
2010-04-02 18:38FelbloodTag Attached: labors
2010-04-14 16:13simrobertIssue Monitored: simrobert
2010-04-18 19:00ZombieNote Added: 0004156
2010-04-29 13:38FootkerchiefCategoryGeneral => Dwarf Mode -- Jobs, Animal Handling
2010-06-11 18:11paladin_of_lightNote Added: 0008167
2010-07-09 12:58ChickenLipsNote Added: 0009839
2010-07-26 09:35starclawsNote Added: 0011082
2010-07-26 09:35starclawsNote Edited: 0011082bug_revision_view_page.php?bugnote_id=0011082#r4318
2010-07-26 12:59FootkerchiefSummaryCancelation after milking => After milking, milker cancels next task with "Handling dangerous creature"
2010-07-28 12:29bobbensIssue Monitored: bobbens
2010-07-28 13:31smjjamesNote Added: 0011198
2010-07-28 16:29hyndisNote Added: 0011206
2010-07-28 16:48smjjamesNote Added: 0011209
2010-07-28 16:49smjjamesNote Edited: 0011209bug_revision_view_page.php?bugnote_id=0011209#r4373
2010-07-28 16:53smjjamesNote Edited: 0011209bug_revision_view_page.php?bugnote_id=0011209#r4376
2010-08-05 18:28HebaruSanIssue Monitored: HebaruSan
2011-01-04 20:58RiderofDarkNote Added: 0014789
2011-01-04 20:58RiderofDarkNote Edited: 0014789bug_revision_view_page.php?bugnote_id=0014789#r5624
2011-01-04 20:59RiderofDarkNote Edited: 0014789bug_revision_view_page.php?bugnote_id=0014789#r5627
2011-01-04 21:14RiderofDarkIssue Monitored: RiderofDark
2011-03-23 21:30DwarfuNote Added: 0016505
2011-03-23 21:30DwarfuTag Attached: AWAITING UPDATE
2011-03-24 03:58InfiltratorNote Added: 0016508
2011-03-24 04:19JimiDNote Added: 0016509
2011-03-24 04:19JimiDIssue Monitored: JimiD
2011-03-24 06:35InfiltratorNote Added: 0016510
2011-03-26 01:39DwarfuNote Added: 0016616
2011-03-26 01:39DwarfuTag Detached: AWAITING UPDATE
2011-03-26 03:17InfiltratorNote Added: 0016625
2011-03-26 03:18InfiltratorIssue Monitored: Infiltrator
2011-03-26 04:25DwarfuNote Edited: 0016616bug_revision_view_page.php?bugnote_id=0016616#r6187
2011-04-05 06:13AltareeNote Added: 0017078
2011-04-11 14:41RiderofDarkNote Added: 0017306
2012-02-16 00:39etherflanNote Added: 0019751
2012-03-27 03:55StebIssue Monitored: Steb
2012-04-11 12:07FootkerchiefRelationship addedrelated to 0004219
2012-06-13 11:13SnaakeNote Added: 0022979
2012-08-11 10:56AchooBlessYouNote Added: 0023440
2012-08-13 05:22ScandinavianNote Added: 0023450
2014-07-08 11:54DwarfuRelationship addedhas duplicate 0006688
2014-07-11 17:08zanzammarNote Added: 0025881
2014-07-11 17:20zanzammarNote Edited: 0025881bug_revision_view_page.php?bugnote_id=0025881#r9631
2014-07-15 07:10pidjipiNote Added: 0026464
2014-07-15 08:18pidjipiIssue Monitored: pidjipi
2016-05-05 05:44Knight OtuRelationship addedhas duplicate 0009722
2016-05-05 05:45Knight OtuAssigned To => Knight Otu
2016-05-05 05:45Knight OtuStatusnew => acknowledged
2016-05-05 05:46Knight OtuSummaryAfter milking, milker cancels next task with "Handling dangerous creature" => After milking/shearing, dwarf cancels next task with "Handling dangerous creature"
2016-05-06 14:38Knight OtuRelationship replacedrelated to 0009722
2018-04-13 12:34HuntthetrollIssue Monitored: Huntthetroll
2018-10-07 13:44LociNote Added: 0038853

2010-04-02 15:57   
what creature are you milking?
2010-04-02 16:01   
Just cows and horses.
2010-04-18 19:00   
I've noticed this, too. However, the dwarf in question tends to then do the job anyway. I've experienced this with a repeating milk task followed by a repeating make cheese task. The dwarf milks the cow, then cancels the job because the cow is apparently "dangerous" even though it's tame. Then he does the job anyway! He doesn't even drop the bucket of milk.
2010-06-11 18:11   
If it's a construction task that the dwarf moves to, he'll suspend the job instead of canceling it. The job actually does suspend, he doesn't go do it.
2010-07-09 12:58   
In addition to canceling or suspending the job being moved to, the milker seems to leave the animal in place in the farmer's workshop, or release it, instead of putting it back in the cage.
2010-07-26 09:35   
I do milk-cheese-milk-cheese and it cancels the cheese hauling with that dangerous animal note.

Does it have to do with walking by the animal? What if the path the dwarf takes goes the opposite direction?

2010-07-28 13:31   
Regarding the message itself, I've gotten it before in 40D when I had a pit zone cleared in the middle of an animal pitting job and when using it as a lazy way to get merchant animals out of cages by marking them for slaughter and then cancelling it when the dwarves take said tame merchant animal out. Same for transferring animals between cages sometimes I think.

It can be pretty funny when its cancelled because of a tamed wild animal.

This bug might be related to that cancel message from 40D.
2010-07-28 16:29   
Seen this as well in 31.08. Alternating milk animal and make cheese in the workshop would continue on the cheese production seamlessly, but those cancel job notices would still pop up.

The animals being milked were mundane domestic creatures like cows.
2010-07-28 16:48   
(edited on: 2010-07-28 16:53)
Hrm, I have a thought. Since before, in 40D, the messages came up when they needed to let go of an animal due to the job being cancelled or changed (I think it didn't always come up), so, maybe its just a bit of leftover code working as its suppoused to, but is not even needed.

The logic could go like this:

*dragging animal to pit zone/cage/restraint*
*the job gets cancelled due to the job changing or zone no longer existing*
*dwarf goes 'I need to let go of the animal!', so the cancel message comes up.
*dwarf does whatever else*

(I haven't actually done any milking, so the specifics might be off)
*drags cow to milking workshop*
*starts milking*
*finishes milking*
*moves the animal to the side*
*now holding the animal in one hand and the milk bucket in one hand, the dwarf goes 'I need to let go of the animal to do the next step'* Here the message appears.
*make cheese*
*rinse and repeat*

So, we could just be seeing a portion of how the whole proccess works since evidently the dwarf has to grab the animal and move it over, or something. Its just more visible now since the job gets repeated instead of a one off cancel like it would have been for 40D.

2011-01-04 20:58   
(edited on: 2011-01-04 20:59)
NOTE: somewhat related to bug 0000410.
What I think is specifically happening (after quite a bit of testing):

0) Dwarf 2 looking for task
1) Milker goes to cage
2) Milker releases assigned animal
3) Milker looks for assignment for animal
3.1) While milker is looking, Dwarf 2 finds loose animal
3.2) Dwarf 2 tasked with returning animal
3.3) Milker tasked with milking animal
NOTE: Two dwarves are now assigned the same animal
4) Milker leads animal to workshop
4.1) IF Dwarf 2 reaches animal before workshop
4.1.1) Dwarf 2 takes animal
4.1.2) Dwarf 2 returns animal to cage
5) Milker reaches workshop
5.1) IF Milker has animal
5.1.1) Milker processes animal
5.1.2) Milker looks for task IF Milker finds task before Dwarf 2 arrives IF Milker task isn't animal handling-related Cancel Task: handling dangerous creature IF Milker task is animal handling-related Milker does task normally
5.1.3) Dwarf 2 arrives after animal processing Dwarf 2 takes animal back to cage
5.2) IF Milker has no animal
5.2.1) GO TO 1)

(Hope I got that right)

Note that Dwarf 2 can prevent the Cancel message when the job process is at 5.1.3, as the animal is being handled by another dwarf.

After some extensive testing, I think that the creature has a [IS_BEING_HANDLED][BY_<MILKER>] tag and the milker has a [HANDLE_CREATURE][TARGET_CREATURE] that continues to exist until the milker is given an assignment that is not animal related OR another dwarf is assigned to handle that creature. That could explain bug 0000410 as well.

I had all of my animals released (no cage/restraints, totally free-roaming) and animal hauling labors disabled on everyone. The milker milked four or five animals before switching to a stockpile task, at which point the cancel message popped up. I've also spent time watching milkers with all creatures in cages to observe both bugs.

2011-03-23 21:30   
Are we still seeing this or did it get fixed with related changes in 31.20?
2011-03-24 03:58   
I'm not seeing it in the same fort that I was seeing it in before, so I would say that it is fixed.
2011-03-24 04:19   
I have seen the "Cancel Task, handling dangerous creature" in 31.21. It occurs when a dwarf finishes a Kitchen Workshop related task. Not sure if milking or shearing, I will try to determine which or both.

The tug of war over animals being taken to Kitchen Workshop and returned to pasture seems to be fixed though.
2011-03-24 06:35   
JimiD: What jobs do you have them doing? I've got milking and shearing on repeat and I'm not seeing that bug anymore. One farmer's workshop for each.
2011-03-26 01:39   
(edited on: 2011-03-26 04:25)
I verified it in 31.22. A farmer's workshop with shear and spin queued will generated the message.

EDIT: this was a single workshop and only one available farmer that would attempt both jobs.

2011-03-26 03:17   
Interesting. I have four workshops with only one job of each of shear, spin, milk, and cheese, on repeat and I do not see that message.
2011-04-05 06:13   
Still exists in 31.25
2011-04-11 14:41   
I think it happens if the dwarf handling the animal gets assigned a task that does not involve the animal *before* any dwarf is assigned to return the animal to wherever it's supposed to go.
2012-02-16 00:39   
Still exists in 0.34.01
2012-06-13 11:13   
Still happening in 34.07, up to at least 34.10 (haven't paid attention in 34.11).
2012-08-11 10:56   
I've had this happen in 34.11
2012-08-13 05:22   
Still happens in 34.11 and also happens with shearing.

And it's not because the animal generates a handle animal job either, because I've seen it even with no milkable or shearable animals assigned to pastures.
2014-07-11 17:08   
(edited on: 2014-07-11 17:20)
This is still happening in 40.02 with queued Spin Thread jobs. The workshop has Spin Thread, Make Cheese, Milk Animal, all queued and on repeat; the dwarf cancels the job with a "cancels Spin Thread: Handling Dangerous Creature" log entry.

Edit: Added a save file, in case this is helpful in any way. http://dffd.wimbli.com/file.php?id=8888. [^] The save has 2 instances in the log and shortly has a 3rd on a Make Cheese job (at least it did when I continued after copying the save).

2014-07-15 07:10   
A turnaround is to design Pasture zone overlapping the farm workshop.
When milking/shearing is done, the animal is already in its Pasture, so no walking needed, therefore the tasks can be chained.

You can have 4 zone with a corner including the same farm workshop.
2018-10-07 13:44   
Tested in v0.44.12. No "dangerous creature" cancellations after milking and shearing an alpaca. The new job-assignment logic which delays subsequent jobs (0008809) probably allows the dwarf time to release the animal before starting a new task. The cancellations could reappear if that bug is fixed, however.