Special equipment: a large roasting pan with a roasting rack; a turkey baster; kitchen twine
For the chestnut and sage stuffing: Preheat the oven to 350 degrees F.
Arrange the cubed bread in a single layer on two baking sheets and bake until crisp and lightly golden, 12 to 15 minutes. Let cool.
Heat the olive oil in a large skillet over medium heat. Add the onions and cook until softened but not browned, about 5 minutes. Add the garlic and cook until fragrant, about 2 minutes. Add the mushrooms and cook until they are just starting to soften but still hold their shape, about 5 minutes. Remove from the heat and allow to cool slightly.
Mix together the toasted bread, the onion-mushroom mixture and the chestnuts in a large bowl. Add the cranberries, sage, parsley, 1 teaspoon salt and 1/2 teaspoon pepper, and toss to combine. Whisk together the eggs and the chicken broth in a small bowl, and then toss with the bread mixture. (The stuffing should be slightly wet; add more broth if it's too dry.)
For the turkey: Set an oven rack in the lowest position; remove the other racks.
Place the turkey on a large work surface. Trim any excess fat and pluck any pin feathers. Remove the neck and giblets from the cavity and discard or reserve for another use. Rinse the inside and outside of the turkey with cool water; pat dry with paper towels.
Loosely fill the cavity of the turkey with the stuffing, taking care not to pack it too tightly. (See Cook's Note for cooking any leftover stuffing.) Rub the outside of the turkey with the softened butter and sprinkle generously with salt and pepper. Tie the legs together loosely with kitchen twine and tuck the wing tips under the body. Transfer the turkey, breast-side up, to a roasting rack set in a large roasting pan. Add the chicken stock to the pan.
Cover the turkey loosely with foil and roast for 3 hours, using a turkey baster to baste with the stock and pan drippings every 30 minutes. After 3 hours, remove the foil and continue to roast until the skin is browned and an instant-read thermometer registers 180 degrees F when inserted into the thickest part of the thigh, about 45 minutes more. The stuffing should register 165 degrees F. Continue to roast, if necessary, covering the turkey loosely with aluminum foil if the skin becomes too brown.
Remove the turkey from the oven and transfer to a serving platter or cutting board. Let rest for 15 to 20 minutes before carving.
Any leftover stuffing can be added to a buttered baking dish, covered with foil, and refrigerated until ready to bake. When the turkey is almost finished, add the dish to the oven and bake for 15 to 20 minutes. Then uncover and bake until the top is golden, about 5 to 10 minutes longer. Remove from the oven and allow to cool slightly.