Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0001044Dwarf FortressDwarf Mode -- Tradepublic2010-04-12 06:422015-02-18 03:29
Toady One 
lowminorhave not tried
0001044: Human Traders Brought "liquid"
As title. Cost was 20 dwarf-bucks for 10 units of an unspecified liquid (but not an "unknown material") weighing 11 dwarf-kg in a pine barrel. I did not buy it because I had no trade goods, but I saved a copy of the game with those traders in the depot in case someone wants me to do something.
material, Save Included, Save Needs Testing, still affects migrated saves, trade
related to 0000753new  Merchants bring barrels of blood and tears 
has duplicate 0001940closed Logical2u Human caravan carries Barrel filled with "liquid [10]" 
has duplicate 0003481resolved Logical2u Liquid Barrel 
has duplicate 0004304resolved Footkerchief Human caravan is glitchy 
Issue History
2010-04-12 06:42slinkNew Issue
2010-04-12 08:53FootkerchiefNote Added: 0003051
2010-04-12 08:55KennelTag Attached: material
2010-04-12 08:55KennelTag Attached: trade
2010-04-12 11:37slinkNote Added: 0003092
2010-04-12 14:00FootkerchiefRelationship addedrelated to 0001052
2010-04-18 19:36drunkenNote Added: 0004164
2010-04-20 19:27FootkerchiefRelationship replacedchild of 0001052
2010-04-20 19:27FootkerchiefRelationship deletedchild of 0001052
2010-04-20 19:29FootkerchiefRelationship addedchild of 0000446
2010-04-24 00:14DDRNote Added: 0004850
2010-04-24 00:42FootkerchiefNote Added: 0004854
2010-04-24 00:43FootkerchiefIssue Monitored: Footkerchief
2010-04-24 00:44FootkerchiefNote Edited: 0004854bug_revision_view_page.php?bugnote_id=0004854#r1681
2010-05-18 04:55Logical2uRelationship addedhas duplicate 0001940
2010-05-18 04:56Logical2uNote Added: 0006940
2010-05-24 16:56zerglNote Added: 0007304
2010-06-13 16:16FootkerchiefRelationship replacedrelated to 0000446
2010-06-13 16:21FootkerchiefRelationship replacedchild of 0000446
2010-06-20 19:34ChickenLipsNote Added: 0008841
2010-07-10 20:02ellindseyNote Added: 0009896
2010-07-10 21:44shibdibNote Added: 0009913
2010-07-11 10:07shibdibIssue Monitored: shibdib
2010-08-06 14:29GauHelldragonNote Added: 0011562
2010-08-06 17:12toybasherNote Added: 0011569
2010-10-10 12:06QuietustNote Added: 0013307
2010-10-29 11:32troasNote Added: 0013552
2010-10-29 13:36Logical2uRelationship addedhas duplicate 0003481
2010-12-10 20:44DwarfuTag Attached: Save Included
2010-12-10 21:21DwarfuNote Added: 0014519
2010-12-10 21:21DwarfuTag Attached: Save Needs Testing
2010-12-11 12:15DwarfuRelationship deletedchild of 0000446
2010-12-11 12:16DwarfuRelationship addedparent of 0002311
2011-03-22 08:43FootkerchiefRelationship addedhas duplicate 0004304
2011-07-10 11:35DwarfuNote Added: 0018195
2011-07-10 11:35DwarfuIssue Monitored: Dwarfu
2011-07-10 11:35DwarfuNote Edited: 0018195bug_revision_view_page.php?bugnote_id=0018195#r6799
2011-07-10 11:39DwarfuNote Edited: 0018195bug_revision_view_page.php?bugnote_id=0018195#r6800
2011-07-10 11:49DwarfuNote Edited: 0018195bug_revision_view_page.php?bugnote_id=0018195#r6801
2011-07-10 12:11DwarfuRelationship deletedparent of 0002311
2011-08-21 09:52DwarfuNote Added: 0018602
2012-02-23 03:48norggNote Added: 0020528
2012-02-23 04:07norggNote Edited: 0020528bug_revision_view_page.php?bugnote_id=0020528#r7628
2012-02-23 05:17Granite26Note Added: 0020534
2012-03-24 16:18CaodeNote Added: 0021708
2012-04-29 02:52hyp3r4ctiveNote Added: 0022393
2012-05-18 06:18QuietustNote Added: 0022588
2012-05-18 06:20QuietustNote Edited: 0022588bug_revision_view_page.php?bugnote_id=0022588#r8417
2012-05-18 06:21QuietustNote Edited: 0022588bug_revision_view_page.php?bugnote_id=0022588#r8418
2014-01-21 21:47TBeholderNote Added: 0024312
2014-01-21 21:47TBeholderNote Edited: 0024312bug_revision_view_page.php?bugnote_id=0024312#r9099
2014-03-25 14:53DwarfuNote Added: 0024627
2014-03-25 14:53DwarfuAssigned To => Dwarfu
2014-03-25 14:53DwarfuStatusnew => acknowledged
2014-06-04 12:00QuietustNote Added: 0024799
2014-06-04 12:01QuietustNote Edited: 0024799bug_revision_view_page.php?bugnote_id=0024799#r9290
2014-06-04 12:04QuietustNote Edited: 0024799bug_revision_view_page.php?bugnote_id=0024799#r9291
2014-06-04 12:04QuietustNote Edited: 0024799bug_revision_view_page.php?bugnote_id=0024799#r9292
2014-07-18 08:48FootkerchiefRelationship addedrelated to 0000753
2014-07-28 15:54DwarfuStatusacknowledged => confirmed
2014-07-29 11:06Toady OneStatusconfirmed => resolved
2014-07-29 11:06Toady OneFixed in Version => Next Version
2014-07-29 11:06Toady OneResolutionopen => fixed
2014-07-29 11:06Toady OneAssigned ToDwarfu => Toady One
2014-07-29 11:17DwarfuIssue End Monitor: Dwarfu
2014-08-09 13:19LociTag Attached: not fixed
2014-08-09 13:38DwarfuIssue Monitored: Dwarfu
2014-08-09 13:44LociTag Detached: not fixed
2014-08-09 13:45LociTag Attached: still affects migrated saves
2015-02-18 03:29DwarfuIssue End Monitor: Dwarfu

2010-04-12 08:53   
The save may be helpful, yeah. http://dffd.wimbli.com/ [^]
2010-04-12 11:37   
http://dffd.wimbli.com/file.php?id=2078 [^]
2010-04-18 19:36   
i have a liquid barrel containing 12 liquid, just confirming
2010-04-24 00:14   
2010-04-24 00:42   
(edited on: 2010-04-24 00:44)
drunken and DDR: does it crash if you view the "barrels" or "liquid" sections of the Stocks menu?

2010-05-18 04:56   
zergl from 0001940 uploaded this save - http://www.wikifortio.com/791077/region2.7z [^]
2010-05-24 16:56   
Sorry about opening a new bug for that, I forgot I still had some other filters on when searching if this was already reported. Oops.

Raws were all completely vanilla in my save so it has nothing to do with modding and worldgen and playing was done completely in 0.31.04.

Also in my save there's loads of trade goods in the depot so anyone trying to have a closer look at it can just buy it for further experimentation.

And @Footkerchief: no crashing at all when I play around in the stocks menu before or after buying it for me.
2010-06-20 19:34   
Got a save here as well (.08) with a human trader with a "+liquid barrel (palm)+", containing 10 liquid. Checked the liquid and barrel sections of the stocks, and viewed details on each item; no crash. Save available if needed.
2010-07-10 20:02   
Just got this bug myself, in 31.09. The humans bought a "liquid Barrel (willow)" containing liquid[10] with value 10 and weight <1, and the description "This is a stack of 10 liquid." Purchasing it did not trigger a crash. Unmodded game, started on an earlier version of DF and copied the save game files over to DF 31.09.
2010-07-10 21:44   
could it be a barrel of water? get that barrel in a closed area with a dwarf and see if he drinks it
2010-08-06 14:29   
I also had this bug in 31.12
It is classified as a 'liquid' in the stocks screen.
2010-08-06 17:12   
someone needs to abandon the fort, and visit it in adventure mode

Then we MIGHT be able to see whats inside that barrel (if not we could still try and drink from it.)
2010-10-10 12:06   
In a fortress with modified raws (to readd Human merchant nobles), the human Guild Representative permitted me to request "liquid" at the very bottom of the Extracts section, after all of the different types of blood and the several types of milk.
2010-10-29 11:32   
This is still happening in 31.16. Bugged save available at http://dffd.wimbli.com/file.php?id=3340 [^]
2010-12-10 21:21   
Loaded slink's original save in 31.18. Didn't see any duplicate raw files. Was able to view the liquid without crashing.
2011-07-10 11:35   
(edited on: 2011-07-10 11:49)
I went back and tested animals with various extracts and liquids as part of their definition.

If the sea lamprey's SPECIALATTACK_SUCK_BLOOD tag is removed, I no longer have been getting the generic 'liquid' on the embark screens (playing as humans for testing). I tested on the same gen seeds throughout multiple trials.

Can anyone else confirm?

EDIT: This would apply to nightwings also, but since they are FANCIFUL, their products don't show on embark.

2011-08-21 09:52   
Also requires the removal of LEECHMAN's SPECIALATTACK_SUCK_BLOOD tag (I had previously removed them from my game for testing and didn't realize it).
2012-02-23 03:48   
(edited on: 2012-02-23 04:07)
Some dwarven traders just turned up with a barrel of liquid for me in 34.02. Save at http://norgg.org/files/The%20Land%20of%20Oracles%20-%20Barrel%20of%20Liquid.zip [^]

2012-02-23 05:17   
I've seen it in Vanilla 34.02 as well
2012-03-24 16:18   
Confirmed for vanilla 34.05 as well.
2012-04-29 02:52   
Vanilla 34.07 confirmed as well. Can view it without crash. I can only imagine the dwarves checking it: "Not blood...not alcohol...but it's a fluid...It's a liquid everybody, my jobs done"
2012-05-18 06:18   
(edited on: 2012-05-18 06:21)
Some memory hacking reveals that the liquid's material is NONE:NONE (i.e. both material type and subtype are -1) within the entity's resource lists (used directly during trade negotiations and presumably other tasks as well) - if I change the values to something more reasonable, the "Liquid" entry in the trade agreement screen changes accordingly.

2014-01-21 21:47   
Wait, it's interesting. Only _sea lamprey_ and _leech man_ need to be removed?
Okay, _nightwing_ is [EVIL] so humans won't get it, much like sliver barb. But _tick_, _tick man_, _mosquito_, _mosquito man_ also have blood sucking, only via "[APPLY_CREATURE_VARIATION:*_SUCK_ATTACK]" (leech man have both versions which may be a munor bug in itself). They don't generate "Liquid"/NONE:NONE?

2014-03-25 14:53   
TBeholder, it is quite possible they do.
2014-06-04 12:00   
(edited on: 2014-06-04 12:04)
After having examined 0.34.11's code for initializing entity resources, I now know exactly why this happens:

If the civilization has USE_ANIMAL_PRODUCTS, it will, for each creature it has access to, attempt to add all materials used by SPECIALATTACKs to its list of tradeable extracts. However, this section fails to check whether the special attack is of type INJECT_EXTRACT, SUCK_BLOOD, or INTERACTION - it just adds all materials specified. The problem is that the other SPECIALATTACK types insert dummy values of -1 into the material/matgloss lists (in order to keep them properly aligned), so those dummy values end up getting added to the entity.

In addition to not checking the SPECIALATTACK type, it is also neglecting to check the extract material's state (it's theoretically possible for the extract to be injected as a solid or a gas). By comparison, the logic immediately afterward for handling SECRETIONs correctly takes this into account.