Note that CrossEntropy takes as input a vector of activations and not log probabilities.
CrossEntropy is implemented as LogSoftMax + NLLLoss.
So I would say that it is expected that softmax+crossentropy do not work well.
http://pytorch.org/docs/master/nn.html?highlight=cross%20entropy#torch.nn.functional.cross_entropy 82