short version: If anyone experiences this crash bug, rebooting your machine might fix it.
long version:
Let me sum up the state of three bugs because they appear to all be related. The three bugs are:
- crash on inventory drop (this thread)
- bosses not appearing when lair destroyed (1 of the 3 issues listed here)
- healing bug (here)
Upon deleting my "\Users\<user>\Documents\The Protectors" directory and creating a new hero, the first two bugs went away and the healing bug remained. This would seem to indicate that the first two bugs are, at least in part - but not necessarily entirely, related to some data in the save game state.
Just tonight my computer had an "incident" - the exhaust fan died, the CPU (or memory or something) apparently got too hot and it locked up. I replaced the fan and the computer appears to be working fine. But here's the important part: This obviously involved a reboot. I hadn't rebooted my box for about month before that.
Now why do I think that the reboot mattered? Because in preparation for sending you a save game I restored my old woodelf healer save that I backed up before deleting the "\Users\<user>\Documents\The Protectors" directory to make sure there were no problems reproducing the issue (e.g., such as maybe not having all the save files needed). I was happy to see that save loaded up fine and was right in the middle of the "Invasion" scenario (and with lairs still waiting to be destroyed and crystal dragons ready to go do the destroying), so the one save game could in theory be used to reproduce both the crash bug and the no-boss bug.
However, I tried dropping an inventory item. No crash. I picked it up, moved a bit (so I wasn't at the empty chest) and dropped all 4 just like before. Still no crash. I then sent dragons to destroy a lair. A boss was produced. And to top it all off, one of the dragons got injured doing that so when it got back to my base I tried a "group heal" spell, and that worked.
So these bugs must be related to whatever state my machine was in -- probably a low resource of some type. (I always make sure I have 2GB of memory available before running the game, but there are other resources applications use such as handles and directx stuff, and windows leaking such resources over time is certainly not out of the question.)
I would suggest that the game should log any instance where it requests resources and is unable to get them (so at least there's an easier way to know what's going on). However, I would also not be surprised if in some cases a low resource might make windows functions fail internally and such a failure might not even get reported back to the application, so logging might only partially address the issue.