Preheat the oven to 350 degrees F. Spread the bread cubes in an even layer on a large baking sheet and bake, stirring a few times, until light golden brown, about 12 minutes. Allow to cool, then transfer to a very large bowl.
Increase the oven temperature to 375 degrees F. Combine the mushrooms on a baking sheet, toss with 3 tablespoons canola oil and season with salt and pepper. Roast in the oven, stirring several times, until soft and golden brown, about 25 minutes.
Meanwhile, heat the remaining 1 tablespoon oil in a large high-sided saute pan over medium heat. Add the bacon and cook, stirring occasionally, until the fat has rendered, about 10 minutes. Remove with a slotted spoon to a paper towel-lined plate.
Pour off all but about 2 tablespoons of the fat from the pan and place it back on the stove over high heat. Add the onion and cook, stirring, until soft, about 4 minutes. Add the garlic and cook 1 minute. Add 3 cups chicken stock and the herbs, season with salt and pepper and bring to a simmer.
Add the mushrooms to the bowl with the bread, then add the stock mixture, the bacon and the eggs; season with salt and pepper and gently stir until combined. The mixture should be very wet; add more stock if needed. Butter a 9-by-13-inch baking dish. Add the stuffing and cover with foil. Bake 20 minutes, then remove the foil and continue baking until golden brown, 30 to 40 more minutes. Remove from the oven and let cool 10 minutes before serving.