When building a form in a portlet, the action path in the portlet URL contains the namespace multiple times, and thus the namespace is not correct.
This happens in prependNamespace() in PortletUrlHelper where three components are combined to form the complete namespace path.
1. Portlet namespace
2. Mode namespace
3. Tag namespace field (default current action namespace)
In a simple form where namespace is not declared, and action i executing in is proper mode namespace (ex. /portlet/view). Then 2 is "/portlet/view" and 3 is by default "/portlet/view" and thus complete namespace becomes "/portlet/view/portlet/view"
Workaround for portlet developers is to set the namespace parameter on the form to "/" which results in only the mode namespace added to the path and thus the correct action is executed.