Have you checked the filter of your dishwasher lately?
When was the last time you gave it a wipe down?
Many of us forget about cleaning our dishwashers, but they can definitely get dirty.
Add a few cups of vinegar into a bowl on the bottom rack and run on the hottest cycle while empty. This will help get rid of grease from the inner surfaces and removes odours.