I believe your crash is a result of free_craft() attempting to free something that doesn't exist. Which is quite odd since no one else, including myself, has seen/reported this issue before. My first guess is this probably is a compatibility issue that is appearing due to you using windows and cygwin to compile/run the code. Nevertheless, the next step in debugging this problem is to figure out if the requirement data is actually being loaded properly or not.
Please post (in code tags) a screen capture of show craft, show craft "item" if you can, your crafts file, and as much gdb data as possible from the crash.
Screen Cap Example:
Code:
Crafts:
ID ) Name VNUM Item Name
1 ) Steel Ingot -> [1001] [a steel ingot]
2 ) Lumber -> [1005] [a piece of lumber]
5 ) Iron Ingot -> [1003] [an iron ingot]
100 ) recipe, basic staff -> [539 ] [a crafted staff]
Code:
Craft: Steel Ingot, (1)
Makes: a steel ingot!
Time: 3
Req: some raw steel (5 ) In Inventory Remove
Req: a furnace (1 ) In Room No Remove