That is a indeed a bug when passing mixed objects with type=2 and method="LRT" (or "PB"). It is now corrected in the development version of afex which can be installed via: devtools::install_github("singmann/afex@master")

If it is not possible to use the development version, a work-around along the following lines should work:

As you can see, we simply directly pass the full model. The problem for type=2 is that in case in which nested model comparisons are used (e.g., when method = "LRT") the full_model slot is a list of lists, so we need to use the first element of the slot.

Can you please post example code that triggers the error? I never use type II tests so I do not understand what you are up to. If I can recreate the error I will most likely be able to fix it in the github version.

Okay, my bug fix did not work for models with interactions. I have provided a new bug fix that should work now, simply download the newest github version.

The last error (Error in calculation of the Satterthwaite's approximation. The output of lme4 package is returned) however has nothing to do with afex. This is a problem of lsmeans. You need to switch how the df are calculated:

lsm.options(lmer.df = "Kenward-Roger") # set df for lsmeans to KR
lsm.options(lmer.df = "Satterthwaite") # the default (does not work in some cases)
lsm.options(lmer.df = "asymptotic") # the fastest, no df