[Java] Java program error: exception_ ACCESS_ VIOLATION (0xc0000005)

When running Java program, error: exception_ ACCESS_ VIOLATION (0xc0000005);

According to the description of the original webpage:

EXCEPTION_ACCESS_VIOLATION

In rare circumstances, a Java program could stop with a message similar to the following:
 An unexpected error has been detected by HotSpot Virtual Machine:
 EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x7c042340, pid=1743, tid=122
 Java VM: Java HotSpot(TM) Client VM (1.5.4_02)
Problematic frame:
C [ntdll.dll+0x2430]
Essentially, Java will stop with a message such as the above if a "serious" error occurs that means the JVM can't continue to function. Usually, the most discriminating line is the first mention of a DLL, such as the line in bold above. The source of the error could be any of the following:

 1. a bug in the JVM itself; search Google and/or the Java web site for
    a mention of ntdll.dll+0x2430;
 2. a bug in some non-Java code that was being run at the time: e.g.
    Java might have been calling into a printer driver, graphics driver
    etc.

If you're not sure what to do but are not using the latest version of the JVM for your system, then a good first course of action is usually to upgrade your JVM. If the bug is in some other DLL, e.g. a printer driver, database driver, graphics driver etc, then it is best to see if you can upgrade the component in question.

If the error is occurring in some native code that you have written, then you need to find out which line of code corresponds to the offset mentioned (in this case, 0x2430, although the DLL isn't one of ours in this example). Usually you can tell your compiler to generate a "map 

The possible reasons are as follows:
1. A bug in the JVM itself; search Google and/or the Java Web site for
a mention of ntdll.dll +0x2430;
For a bug in the JVM itself, visit Google or the Java website (according to ntdll.dll +A bug in some non java code that was being run at the time: e.g.
java might have been calling into a printer driver, Graphics driver
etc.
a bug in a running non java code may cause the print driver to be called, such as the graphics driver;

Here, my suggestions are:
1. The port number may conflict, so close other unnecessary Java programs;
2 2. For the same Java program, some function may be set to start automatically (which will crowd out the Java program you are using). If there is a pause button, pause the function in the same Java program first (without affecting it), run the part of your own function first, and then start other functions after running this part of your own function;

Welcome to my official account:
[screen bridge community]

[mybatis] error: malformed ognl expression: name! = null and name! = ‘”

1、 Questions

Malformed ognl expression: name! = null and name! = ‘
report an error;
malformed means abnormal;

2、 Solutions and reasons

It turned out to be* Mapper.xml In the document:

<if test ="userId ! null">

The equals sign is missing; the SQL in the automatically generated mybatis file is missing an equals sign

<if test ="userId != null">

Moreover, there should be no space between exclamation mark and equal sign;

No matching editors or conversion strategy found

1、 Questions

Recently, I’ve been building the batch framework of spring, and frequent errors have been reported. It’s a trip to the pit;

Cannot convert value of type 'java.lang.String' to 
required type 'javax.sql.DataSource' for property 'dataSource': 
no matching editors or conversion strategy found

2、 Solution

The reason is that [ref] is wrongly written as [value] in the XML configuration of persistence layer;

Spring nested exception is java.lang.NoClassDefFoundError: org/springframework/core/MethodClassKey

1、 Questions

Build your own batch task framework, and then report an error

- Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.event.internalEventListenerProcessor': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/MethodClassKey
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.context.event.internalEventListenerProcessor': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/springframework/core/MethodClassKey
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
	at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
	at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
	at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
	at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
	at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
	at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
	at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
	at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
	at com.caliper.tail.batch.common.BatchApp.start(BatchApp.java:85)

2、 Solution

The spring core package is not imported; just go to Maven repository and import the jar package of spring core;

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.1.5.RELEASE</version>
</dependency>

[spring] springboot failed to install cli, unsupportclassversionerror 52.0

1、 Error information

Install springboot cli yesterday:
1. Download and unzip it directly from the official website;
2. Add the bin directory absolute path of the unzipped folder to the environment variable path;
3. Enter “ spring -- version " in the CMD to verify whether the installation is successful;

However, an error was reported during verification. The error information is as follows:

UnsupportClassVersionError:org/springframework/boot/loader/JarLauncher:Unsupporyed major.minor version 52.0
......
Could not find the main class

2、 Solutions

2.1. You need to set the JDK version

2.2. There are two ways to modify the language level, one is to click project structure, which is the button in the upper right corner of idea;

Modify JDK version and language level in project:

Modify the language level in modules:

3、 Results

Then there is no problem

Java error: unable to find or load the main class

1、 Problem
today, copy the code of idea to eclipse for execution, and then report an error: “error: unable to find or load the main class”;

2、 The solution
can be executed in idea and can be executed in eclipse, which means that there is no problem with the code. The only problem is the running environment. After checking the configuration, the problem is found:

here is an error in Maven dependency:

what the hell pom.xml Log off the error reporting dependency in the file, and then run the main method;

Wamp Apache can’t run error report could not execute menu item

wamp:could not Execute menu item (internal error) [exception] count not perform service action: the server did not respond to the start or control request in time

At present, there are basically two other types on the Internet: the port number is occupied and the file cannot be found

This problem is hardly found on the Internet

Only Apache can’t start, the error is shown in the figure.
Solution: start manually in the service.
Start the service: services.msc

Start the wampaache service manually

Jupyter failed to run websocket error

Juputer cannot connect

There is a problem with the websocket connection, the browser console reports an error, and the WS connection is abnormal

WebSocket connection to 'ws:// localhost:8888/api/kernels/f8809bf9-988f-4666-b183-e01bed63fa76/channels?session_ id=e49c21f065e64e7a89847a0859d689dd' failed: Error during WebSocket handshake: Unexpected response code: 200

Solution

Refer to https://github.com/jupyter/notebook/issues/4399

Uninstall tornado 6 and re install tornado 5.

pip uninstall tornado
pip install tornado==5.1.1

Spring security failed to log in, error: there is no passwordencoder mapped for the ID “null”

After writing the websecurityconfig class that inherits the websecurityconfigureradapter class, we need to define authentication in the configure (authentication manager builder auth) method, which is used to obtain information sources and password verification rules. (the name of the configure function doesn’t matter. The official name seems to be configureglobal (…) )It is important to configure the authenticationmanagerbuilder in the class annotated by @ enablewebsecurity or @ enableglobalmethodsecurity or @ enableglobalauthentication).

The source of authentication information I used at the beginning was in memory authentication. The code is as follows

 
    protected void configure (authentication manager auth) throws exception { // inmemoryauthentication gets from memory auth.inMemoryAuthentication ().withUser("user1").password("123456").roles("USER"); }

The login page of spring security is used. As a result, when logging in, the user name and password are correct, and the resource cannot be opened, so it still stays on the login page. There is no passwordencoder mapped for the ID "null".

Baidu found that this is because spring security 5.0 added a variety of encryption methods, but also changed the password format.

Let's take a look at the official documents. Here are the original words of the official documents:

 

-------------------------------------------------------------------------------------------------------------------

The general format for a password is:

{id}encodedPassword

Such that id is an identifier used to look up which PasswordEncoder should be used and encodedPassword is the original encoded password for the selected PasswordEncoder. The id must be at the beginning of the password, start with { and end with }. If the id cannot be found, the id will be null. For example, the following might be a list of passwords encoded using different id. All of the original passwords are "password".

{bcrypt}$2a$10$dXJ3SW6G7P50lGmMkkmwe.20cQQubK3.HZWzG3YB1tlRy.fqvM/BG 
{noop}password 
{pbkdf2}5d923b44a6d129f3ddf3e3c8d29412723dcbde72445e8ef6bf3b508fbf17fa4ed4d6b99ca763d8dc 
{scrypt}$e0801$8bWJaSu2IKSn9Z9kM+TPXfOc/9bdYSrN1oD9qfVThWEwdRTnO7re7Ei+fUZRJ68k9lTyuTeUp4of4g24hHnazw==$OAOec05+bXxvuu/1qZ6NUR+xQYvYv7BeL1QxwRpY5Pc=  
{sha256}97cde38028ad898ebc02e690819fa220e88c62e0699403e94fff291cfffaf8410849f27605abcbc0

-------------------------------------------------------------------------------------------------------------------

 

The storage format of passwords in spring security is "{ID}.....". The front ID is the encryption method, the ID can be bcrypt, sha256, etc., followed by the encrypted password. In other words, when the program gets the passed password, it will first find the ID included by "{" and "}" to determine how the subsequent password is encrypted. If it cannot be found, it will be considered that the ID is null. This is why our program will report an error: there is no passwordencoder mapped for the ID "null". In the example of official documents, various encryption methods are used to encrypt the same password. The original password is "password".

 

If we want our project to log in normally, we need to modify the code in configure. We need to encrypt the password from the front end in some way. Spring security officially recommends using bcrypt encryption. So how to encrypt the password?Just specify it in the configure method.

After modification, it looks like this:

 
    protected void configure (authentication manager auth) throws exception { // inmemoryauthentication gets from memory auth.inMemoryAuthentication ().passwordEncoder(new BCryptPasswordEncoder()).withUser("user1").password(new BCryptPasswordEncoder().encode("123456")).roles("USER"); }

After inmemoryauthentication(), there is ". Passwordencoder (New bcryptpasswordencoder())", which is equivalent to using bcrypt encryption to process the user password when logging in. The previous ". Password (" 123456 ")" is changed to ". Password (New bcryptpasswordencoder(). Encode (" 123456 ")", which is equivalent to bcrypt encoding and encryption of the password in memory. The comparison is consistent, which indicates that the password is correct and login is allowed.

If you are also using the password from the memory, then according to the above modification should be successful login, no problem.

If you use to store the user name and password in the database, you usually use bcrypt code to encrypt the user password and store it in the database. And modify the configure() method, add ". Passwordencoder (New bcryptpasswordencoder())" to ensure that users use bcrypt to process the password when they log in, and then compare it with the password in the database. As follows:

 
    // inject the implementation class of userdetailsservice auth.userDetailsService (userService).passwordEncoder(new BCryptPasswordEncoder());
     

reprint https://blog.csdn.net/canon_ in_ d_ major/article/details/79675033

This function has none of deterministic, no SQL, or reads SQL data in its error records

This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_ bin_ trust_ function_ creators variable)

The solution to this error when creating a function in MySQL:
set global log_ bin_ trust_ function_ Creators = true;
it should be noted that it is invalid after restarting the service.