Give the drain hole and filter at the bottom of the dishwasher a good clean out with hot water - preferably cleaning the various parts in your sink in they detach, remove the racks and soap down in the sink as well.
Fill a cup with 250ml of white vinegar and place on the top rack - do a hot cycle and this should wash away grease and grime.
Fill another cup with 100 -200ml of baking soda and sprinkle around the bottom of the cabinet - another hot wash should see it odour free and sparkling
I took this advice from a US website and it seems to work well!