Author Archives: Robins

Error in created hook: “SyntaxError: Unexpected token u in JSON at position 0

Problem: an error occurs when the page receives the passed JSON object

Reference page:

let invite = {
				id:albumID,
				unionid,
				role
			}
wx.navigateTo({
		url: `/pages/web/web?id=${id}&isShared=1&invite=${JSON.stringify(invite)}`,
	});

Receive page printing parameters:

console.log('invite',this.invite);
//console.log('invite',JSON.parse(this.invite));//报错 SyntaxError: Unexpected token u in JSON at position 0

The result is

Solution:

When receiving JSON data, decodeuri () is used for decoding

let {id,role,unionid} = JSON.parse(decodeURI(this.invite));

Apache Cannot Start: SSL Library Error: -8181 Certificate has expired

After the server restarts one day, Apache cannot start. Check the Apache error log:

cat /var/log/httpd/error_log

The following errors are found:

[Wed Aug 25 18:49:00.134257 2021] [:error] [pid 1607] SSL Library Error: -8181 Certificate has expired
[Wed Aug 25 18:49:00.134318 2021] [:error] [pid 1607] Unable to verify certificate 'Server-Cert'. Add "NSSEnforceValidCerts off" to nss.conf so the server can start until the problem can be resolved.

Use the following command to view the certificate information and find that the certificate has expired:

certutil -d /etc/httpd/alias -L -n Server-Cert
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4 (0x4)
        Signature Algorithm: PKCS #1 SHA-256 With RSA Encryption
        Issuer: "CN=Certificate Shack,O=example.com,C=US"
        Validity:
            Not Before: Fri Jan 24 15:03:11 2017
            Not After : Wed Jan 24 15:03:11 2021

You can use temporary methods to solve this problem:
first set the certificate inspection prohibition, and then cancel this setting after the certificate is updated. Operation method:
add the nssenforcevalidcerts off setting in the/etc/httpd/conf.d/nss.conf file to temporarily cancel the certificate inspection.

The permanent solution is to regenerate the certificate. The command is as follows:

yum install httpd mod_nss
certutil -d /etc/httpd/alias -L -n Server-Cert
cd /etc/httpd/alias
rm -f *.db
/usr/sbin/gencert /etc/httpd/alias > /etc/httpd/alias/install.log 2>&1

Then check that the certificate expiration date is normal.

certutil -d /etc/httpd/alias -L -n Server-Cert
Certificate:
    Data:
        Version: 3 (0x2)
        Serial Number: 4 (0x4)
        Signature Algorithm: PKCS #1 SHA-256 With RSA Encryption
        Issuer: "CN=Certificate Shack,O=example.com,C=US"
        Validity:
            Not Before: Fri Aug 27 07:27:30 2021
            Not After : Wed Aug 27 07:27:30 2025

Try to start Apache and find that it still can’t be started. Check the error log again and find a new error report:

[Fri Aug 27 15:38:17.483837 2021] [:error] [pid 15043] Server user apache lacks read access to NSS key database /etc/httpd/alias/key3.db.

It should be that the Apache user does not have permission to the key3.db file
let’s check the file attributes:

ls -l /etc/httpd/alias/
total 88
-rw-------. 1 root root 65536 Oct 26 17:26 cert8.db
-rw-------. 1 root root    5872 Oct 26 17:26 install.log
-rw-------. 1 root root 16384 Oct 26 17:26 key3.db
lrwxrwxrwx. 1 root root      24 Nov 15 10:58 libnssckbi.so -> /usr/lib64/libnssckbi.so
-rw-------. 1 root root 16384 Oct 26 17:26 secmod.db

Then modify the attributes of all DB files in the/etc/httpd/alias/Directory:

chown :apache /etc/httpd/alias/*.db 
chmod u=rw,g=r  *.db

The effect is the same with the following two commands:

chown root.apache /etc/httpd/alias/*.db
chmod 0640 /etc/httpd/alias/*.db

After modification, check the properties of the DB file:

ls -l /etc/httpd/alias/
total 88
-rw-r-----. 1 root apache 65536 Oct 26 17:26 cert8.db
-rw-------. 1 root root    5872 Oct 26 17:26 install.log
-rw-r-----. 1 root apache 16384 Oct 26 17:26 key3.db
lrwxrwxrwx. 1 root root      24 Nov 15 10:58 libnssckbi.so -> /usr/lib64/libnssckbi.so
-rw-r-----. 1 root apache 16384 Oct 26 17:26 secmod.db

Finally, start Apache:

systemctl start httpd

Start successfully!

[Solved] Error in created hook: “SyntaxError: Unexpected token o in JSON at position 1“

[Vue Warning]: Error in created hook: “SyntaxError: Unexpected token o in JSON at position 1”

found in

-> > LT?InformationConfirm> that src main/views/st act of accountreportLoss 040/InformationConfirm.vue
< ServiceSTM> src main/layout/ServiceSTM.vue
< App> at src/App.vue
< Root>

2. Reason

Reference component error.

3. Solution

Modify the reference component.

[Solved] Error: ENOENT: no such file or directory, scandir ‘..\node_modules\node-sass\vendor‘

Problem Description: start the front-end project of the company’s front-end engineer, and the following error message will be prompted:


Module build failed: Error: ENOENT: no such file or directory, scandir '*********\node_modules\node-sass\vendor'

 @ ./node_modules/vue-style-loader??ref--8-oneOf-1-0!./node_modules/css-loader??ref--8-oneOf-1-1!./node_modules/[email protected]@vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/src??ref--8-oneOf-1-2!./node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!./node_modules/cache-loader/dist/cjs.js??ref--0-0!./node_modules/vue-loader/lib??vue-loader-options!./src/modules/docSearch/components/searchTable/searchResult.vue?vue&type=style&index=0&id=d0be5df2&lang=scss&scoped=true& 4:14-537 15:3-20:5 16:22-545
 @ ./src/modules/docSearch/components/searchTable/searchResult.vue?vue&type=style&index=0&id=d0be5df2&lang=scss&scoped=true&
 @ ./src/modules/docSearch/components/searchTable/searchResult.vue
 @ ./src/modules/docSearch/index.js
 @ ./src/router.js
 @ ./src/main.js
 @ multi ./node_modules/[email protected]@webpack-dev-server/client?http://192.168.1.74:8081/sockjs-node (webpack)/hot/dev-server.js ./src/main.js

Solution: npm rebuild node-sass

[Solved] error: rpmdb: BDB0113 Thread/process

The following error is reported when executing the yum command:

error: rpmdb: BDB0113 Thread/process 1309432/139989604449152 failed: BDB1507 Thread died in Berkeley DB library
error: db5 error(-30973) from dbenv->failchk: BDB0087 DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db5 -  (-30973)
error: cannot open Packages database in /var/lib/rpm
Error: Error: rpmdb open failed

Solution:

cd /var/lib/rpm
rm -rf __db*
rpm --rebuilddb

NameError: name “defaultParams“ is not defined [How to Solve]

When the source code Matplotlib has the following parameters for setting Chinese or negative numbers, a NameError will appear in pyinstaller packaging: name ‘defaultparams’ is not defined error

plt.rcParams['font.sans-serif'] = ['STSong']  
plt.rcParams['axes.unicode_minus'] = False  

Solution:

Reduce Matplotlib to version 3.2.2

conda install matplotlib==3.2.2

Note: pyinstaller 3.6 version    Python 3.6.13 version

Mysql8.02/ubuntu 20 ERROR 1449 (HY000) [How to Solve]

Just after installing MySQL through apt install MySQL server, I encountered a pit. After checking for a long time, I finally found the answer. Thank you, netizens.

mysql> show databases;
ERROR 1449 (HY000): The user specified as a definer ('mysql.infoschema'@'localhost') does not exist

If you enter mysql, you will report an error. I don’t know why. Confused B

mysql> create user ' mysql.infoschema '@'% 'identified by' password ';
Query OK, 0 rows affected (0.01 sec)
mysql> grant all privileges on *.* to 'mysql.infoschema'@'%';
Query OK, 0 rows affected (0.01 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

[Solved] C++ Compile: error LNK2019: unresolved external “XX“

Link error: linker tools error LNK2019

The error prompt error LNK2019: unresolved external "XX" often appears during the compilation of C + + projects. The main reason is that the definition of the corresponding reference variable or function cannot be found in the currently referenced library during the linking process. At this time, you need to add the library that defines the reference variable to the corresponding project.

There are two main ways to solve this problem:

To manually add the powrprof.lib </KBD> library, do the following:

Method 1: use #pragma comment , such as
#pragma comment (LIB, "powrprof. Lib") method 2: properties under the corresponding item in vs: enter the corresponding position
Properties > Configuration Properties > Linker > Input > Additional dependencies add the powrprof.lib library, as shown in the following figure:

ERROR ITMS-90022: “Missing required icon file. [How to Solve]

1. Problem

ERROR ITMS-90022: “Missing required icon file. The bundle does not contain an app icon for iPhone/iPod Touch of exactly ‘120×120’ pixels, in .png format for iOS versions >= 10.0. To support older versions of iOS, the icon may be required in the bundle outside of an asset catalog. Make sure the Info.plist file includes appropriate entries referencing the file. See https://developer.apple.com/documentation/bundleresources/information_property_list/user_interface”


2. Solution: Just make sure there are 120×120 icons in the AppIcon

Mongodb std::exception::what(): basic_filebuf::underflow error reading the file: iostream error

Error Message:
2021-08-30T21:37:47.238+0800 F – [main] terminate() called. An exception is active; attempting to gather more information
2021-08-30T21:37:47.258+0800 F – [main] std::exception::what(): basic_filebuf::underflow error reading the file: iostream error
Actual exception type: std::__ios_failure

Solution:
Check whether the keyfile file path is correctly configured

OSError libespeak.so.1 error: no such file or directory [How to Solve]

Traceback (most recent call last):
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/__init__.py”, line 20, in init
eng = _activeEngines[driverName]
File “/usr/lib/python3.8/weakref.py”, line 131, in __getitem__
o = self.data[key]()
KeyError: None
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “mqttToTts.py”, line 23, in <module>
tts = Tts()
File “mqttToTts.py”, line 7, in __init__
self.engine = pyttsx3.init()
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/__init__.py”, line 22, in init
eng = Engine(driverName, debug)
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/engine.py”, line 30, in __init__
self.proxy = driver.DriverProxy(weakref.proxy(self), driverName, debug)
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/driver.py”, line 50, in __init__
self._module = importlib.import_module(name)
File “/usr/lib/python3.8/importlib/__init__.py”, line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File “<frozen importlib._bootstrap>”, line 1014, in _gcd_import
File “<frozen importlib._bootstrap>”, line 991, in _find_and_load
File “<frozen importlib._bootstrap>”, line 975, in _find_and_load_unlocked
File “<frozen importlib._bootstrap>”, line 671, in _load_unlocked
File “<frozen importlib._bootstrap_external>”, line 783, in exec_module
File “<frozen importlib._bootstrap>”, line 219, in _call_with_frames_removed
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/drivers/espeak.py”, line 9, in <module>
from . import _espeak, toUtf8, fromUtf8
File “/home/summergao/.local/lib/python3.8/site-packages/pyttsx3/drivers/_espeak.py”, line 18, in <module>
dll = cdll.LoadLibrary(‘libespeak.so.1’)
File “/usr/lib/python3.8/ctypes/__init__.py”, line 451, in LoadLibrary
return self._dlltype(name)
File “/usr/lib/python3.8/ctypes/__init__.py”, line 373, in __init__
self._handle = _dlopen(self._name, mode)
OSError: libespeak.so.1: cannot open shared object file: No such file or directory

When using python3 to do text-to-speech, I installed pyttsx3 and ran the program with the above error
The reason is that before installing pyttsx3, I need to install a speech environment: “espeak”
Installation command:

sudo apt-get update && sudo apt-get install espeak

Python Error: SyntaxError: ‘break‘ outside loop

report errors:

SyntaxError: 'break' outside loop

Break can only be used in a while loop or a for loop. If it is used in an if conditional statement, an error will be reported: syntax error: ‘break’ outside loop. However, if the if conditional statement is nested inside a while loop or a for loop,
if you do not pay attention to the format when corresponding to while, an error will also be reported