Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0009485Dwarf FortressDwarf Mode -- Locationspublic2016-01-16 15:262023-01-04 20:26
Sulac 
Loci 
normalmajoralways
confirmedopen 
0.42.04 
 
0009485: Instruments irretrievable after canceled performance
When dwarves in a tavern begin a song and dance performance, and fail to gather enough dancers, the performance is canceled. Any instruments that were to be used for this performance are then dropped, and dwarves refuse to interact with them in any way.

They will not take the instruments to the tavern's (or any tavern's) storage, or back to any stockpiles. Forbidding and reclaiming the instruments does nothing, and neither does marking them for dumping, even with multiple dump zones active. Dwarves will not pick them back up for any reason.
1. Create tavern with large enough dance area
2. Check which instruments are being simulated for large dance performances
3. Assemble those instruments, and have them brought to the tavern with a coffer or other storage item
4. Wait until dwarves fail to gather enough dancers for a performance
5. Instruments are dropped and now irretrievable
instruments
has duplicate 0010562resolved Loci bugged musical performance, bugged instruments 
Issue History
2016-01-16 15:26SulacNew Issue
2016-01-16 17:59mrmagolorNote Added: 0034447
2016-02-15 11:19LociNote Added: 0034672
2016-03-03 13:48martinuzzNote Added: 0034786
2016-03-03 13:50martinuzzNote Edited: 0034786bug_revision_view_page.php?bugnote_id=0034786#r14029
2016-03-03 13:52martinuzzNote Edited: 0034786bug_revision_view_page.php?bugnote_id=0034786#r14030
2016-03-04 14:52iamblichosNote Added: 0034789
2018-02-06 10:35LociRelationship addedhas duplicate 0010562
2018-02-06 10:37LociNote Added: 0037763
2018-02-06 10:37LociAssigned To => Loci
2018-02-06 10:37LociStatusnew => confirmed
2018-04-16 10:30HuntthetrollIssue Monitored: Huntthetroll
2018-05-23 15:53PatrikLundellNote Added: 0038364
2018-05-24 05:27PatrikLundellNote Edited: 0038364bug_revision_view_page.php?bugnote_id=0038364#r15596
2018-05-24 05:47Saiko KilaNote Added: 0038372
2018-05-24 05:51PatrikLundellNote Edited: 0038364bug_revision_view_page.php?bugnote_id=0038364#r15597
2018-07-17 20:11SolPyreTag Attached: instruments
2019-03-21 03:19Grim Atol-DelerNote Added: 0039293
2019-03-22 00:14PatrikLundellNote Added: 0039294
2019-03-22 07:19Grim Atol-DelerNote Added: 0039295
2020-03-11 13:08peanutsnraisinsNote Added: 0040354
2023-01-01 16:03SwoodermanIssue Monitored: Swooderman
2023-01-04 20:26quintiliusNote Added: 0041364

Notes
(0034447)
mrmagolor   
2016-01-16 17:59   
I had a similar thing happen to me. I hate having tons of bards visit my fort when I want soldiers to hire, so I kill them. They drop their instruments(and scholars drop books), although even if I claim them, my dwarves will store them nowhere.
(0034672)
Loci   
2016-02-15 11:19   
This appears to occur if the performance is canceled for any reason. Deconstructing a chest with tasked instruments in it caused the usual job cancellations and left the instruments permanently lying on the floor.
(0034786)
martinuzz   
2016-03-03 13:48   
(edited on: 2016-03-03 13:52)
Aye, I can confirm this. Here's a save with one or two instruments that are stuck on the tavern floor. (Not sure if this save has only one still, or two. One has been there for over 30 fortress years, the other one, if present, is recent.

http://dffd.bay12games.com/file.php?id=11818 [^]

EDIT: it is not related to visitors. This fort has never had a single visitor yet since it only has citizen-only locations. It looks like it happens when a performance job gets interrupted.

EDIT2: you can find the tavern at the F8 zoom location

(0034789)
iamblichos   
2016-03-04 14:52   
This also seems to be true for books, scrolls and other written materials (though not sheets, quires, and unwritten scrolls).
(0037763)
Loci   
2018-02-06 10:37   
v0.44.05: martinuzz posted a save in 0010562:

http://dffd.bay12games.com/file.php?id=13492 [^]
(0038364)
PatrikLundell   
2018-05-23 15:53   
(edited on: 2018-05-24 05:51)
"Books" is most likely a different issue from instruments becoming unusable. "Books" dropped by (dead) visitors, invaders, and infiltrating visitors usually (always?) have the "Trader" flag set (DFHack name), and become accessible once that flag is cleared.

It's possible dropped instruments may have the Trader flag set as well, but it seems unlikely the flag would get set by the break up of a performance.

Edit: Clearing the flags.in_job flag with DFHack on the carambola instrument caused to to promptly be put in the coffer. At a guess, breaking up a performance might clear the jobs but not the job flags, although I haven't looked to see if there are any jobs associated with it.

Edit2: I failed to find any jobs in either the list or postings structures that reference the carambola instrument item., although I can't rule out that the item would be referenced somewhere else in a job.

(0038372)
Saiko Kila   
2018-05-24 05:47   
I've looked at the save http://dffd.bay12games.com/file.php?id=13492. [^] The instrument (karambola wood kin) has in_job flag, as per DFHack, but this flag can't be cleared by forbidding as normal (and cyan TSK marker doesn't disappear). I kept clearing the flag in DFHack, and it was repeatedly set, but not visible job was created. After several tries actual job was created (it was "Store in Location"), dwarf came and took it to the nearby coffer.

After that an instrument already present in the coffer (jet megid, it was the last one before the karambola wood kin was put in) was stuck in similar manner, so I kept clearing its flag with DFHack. After some time it stopped being re-set. Then I ordered the instruments to be dumped, dwarves did that, and after unforbidding they were normally brought from dump zone to the same coffer.

After a while the last instrument (jet megid) was similarly tasked, I cleared the flag, and subsequently the dwarves finally tasked and actually used both instruments for performance. Well, the megid was used, the kin was simulated by dwarf who was hauling it (job changed from "Play kin" to "Simulate kin"). After performance the dwarf who was really using megid brought it to the coffer, the dwarf who was using kin dropped it on the floor, and it was stuck (with TSK) the same, as in the beginning.
(0039293)
Grim Atol-Deler   
2019-03-21 03:19   
Just to ask: how do you remove/clear the in_job flag using DFHack to temporarily alleviate the issue from this bug? (as mentioned above by PatrikLundell & Saiko Kila) Googling how to do this has been fruitless so far.

Have had this happen in my 11 year old fort. Several instruments stuck in TSK on the floor of the tavern. Dorfs very happy to perform dances whilst imitating the instruments laying on the floor next to them.
(0039294)
PatrikLundell   
2019-03-22 00:14   
You'd typically start gui/gm-editor from the DFHack console when the object is selected in DF (and the game paused). You'd then traverse the data structure to locate the correct field, and then change the field. If you've never used gui/gm-editor it may not be completely trivial.
(0039295)
Grim Atol-Deler   
2019-03-22 07:19   
Excellent - thank you Patrik! Not used one before, but will give it a go. This now makes much more sense / opens limitless wonders: https://dfhack.readthedocs.io/en/stable/docs/_auto/gui.html#gui-advfort-items [^]

Advise keeping these notes here in case others like me need the guidance - this is the only page I found with useful reference to this bug & a resolution.
(0040354)
peanutsnraisins   
2020-03-11 13:08   
This bug is still in effect in 0.47.04. Save demonstrating bugged instruments in the temple is here:

http://dffd.bay12games.com/file.php?id=14925 [^]
(0041364)
quintilius   
2023-01-04 20:26   
Seeing this in 50.04 as well. Tried cancelling everyone's active tasks... tried deleting the tavern... tried removing the chests (which just gave me more instruments i cant move). Forbidding/dumping/locking the door... nope.

Basically went through the UI looking to see if perhaps there was something that might deal with it.

Load from autosave seems to be the only answer - and save a lot more.