Take a look at jmeter.log file, it usually contains enough troubleshooting information so you will be able to figure out the cause of the problem.
I can see 3 reasons for this behavior:
- You are using Test Element(s) which was(were) deprecated. If this is the case - check our Incompatible Changes section of JMeter release notes to learn what component(s) should be used instead
- You are using JMeter Plugins which were installed on JMeter 2.12 and JMeter 3.1 instance does not have these plugins. In that case use JMeter Plugins Manager to re-install the missing plugins
- You are using 3-rd party libraries in JUnit or Beanshell code. In that case copy them from JMeter 2.12 somewhere into Classpath of JMeter 3.1