Heat a heavy saucepan over medium heat with the butter and oil.When the butter has melted, stir in the onions, cover, and cook slowly until tender and translucent, about 10 minutes.Blend in the salt and sugar, increase the heat to medium high, and let the onions brown, stirring often until they are a dark walnut color approximately 20 minutes.Sprinkle the flour and cook slowly, stirring, for another 3 to 4 minutes.Remove from heat, cool a moment, and gently stir in 2 cups of hot stock.Return to medium heat and add the remaining stock, Cognac, and wine, stirring to combine until it reaches a gentle boil, now reduce the heat to a simmer.Cover loosely with a lid and simmer slowly 1½ hours, add a little water if the liquid reduces too much. (Mine didn't)Taste for seasoning adding salt and pepper as needed to your taste.Divide the soup among 4 ovenproof bowls.Float a thick slice of French Bread on top of the soup, Break other pieces of bread in half if you need to to fill the open portion at the top of the bowl with bread.Sprinkle generously with grated Gruyere cheese.Place bowls on a cookie sheet and slide them under a preheated broiler in the center of the oven watching constantly as the cheese melts to form a crust over the tops of the bowls.Serve immediately.Recipe adapted from Julia Child, "The Way to Cook