Author Archives: Robins

pymongo.errors.DuplicateKeyError: E11000 duplicate key error collection: anjuke.ershoufang index

This bug kept me busy all afternoon and a night, and finally I ko it
Attach a section of crawling to take anjuke second-hand housing information code
Re
import time
import pymongo
import requests
from bson import ObjectId
from LXML import etree
from pprint import pprint
headers = {
“user-agent “: “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36”,
“cookie”: “aQQ_ajkguid= 243e5d558-8b13-d7bd-4922-3de583e03855; ctid=11; _ga = GA1.2.1030980732.1530799904; _gid = GA1.2.506397644.1530799904; 58tj_uuid=c606f59a-2fb9-4c91-9815-741fdf9cfe5d; als=0; lps=http%3A%2F%2Fwww.anjuke.com%2F%3Fpi%3DPZ-baidu-pc-all-biaoti%7Chttps%3A%2F%2Fwww.baidu.com%2Fs%3Fie%3Dutf-8%26f%3D8%26rsv_bp%3D0%26rsv_idx%3D1%26tn%3Dbaidu%26wd%3D%25E5%25AE%2589%25E5%25B1%2585%25 E5%25AE%25A2%26rsv_pq%3Dd71198bd000395ca%26rsv_t%3D6172VDlcx2zzRQ%252FLyCdcEidtafr%252BSvVyVXrlZ0lsK3U1MEz8066IF4byz4c%26rqlang%3Dcn%26rsv_enter%3D1%26rsv_sug3%3D5%26rsv_sug1%3D5%26rsv_sug7%3D101; twe=2; sessid=3497C1D2-43A8-6143-B2D7-CFDA33FF0C0E; new_uv=2; __xsptplus8 7 c = 8.2.1530840314.1530840335.2%232%7Cwww.baidu.com % % 7 c % 7 c % 25 e5%25 ae b1%2585% % 2589% % 25 e5 25 25 e5%25 ae % 25 a2%23 z7v3xnqldcxthemliqlxqslhvxrh8k_r 7 c % 23% % 23 “,
“referer” : “https://shanghai.anjuke.com/?PI = pz-bid-pc-all-biaoti “
}

# connect to database
client = pymongo.MongoClient(‘127.0.0.1’, 27017)
# define database name
db = client.anjuke
# define table name
coll = db.ershoufang

def get_info():
count = 0
for I in range(23):

response = Requests. The get (‘ # https://shanghai.anjuke.com/sale/p {}/filtersort ‘. The format (I), headers = headers)

item = response. The text

# print (item)
# use etree. HTML, The string into an HTML document.
HTML = etree HTML (item)
HTMLS = HTML. The xpath (‘// * [@ id = “houselist – mod – new”]/li ‘)
# print (HTMLS)

house = {}
for h in HTMLS:
h_addr = h.x path (‘/div [2]/div [1]/a/text () ‘) [0]. The strip ()
h_type = h.x path (‘/div [2]/div [2]/span [1]/text () ‘) [0]. The strip ()
h_area = H.x path (‘/div [2]/div [2]/span [2]/text () ‘) [0]. The strip ()
h_hight = h.x path (‘/div [2]/div [2]/span [3]/text () ‘) [0]. The strip ()
h_name = H.x path (‘/div [2]/div [2]/span [4]/text () ‘) [0]. The strip ()
try:
h_youshi1 = h.x path (‘/div [2]/div [4]/span [1]/text () ‘) [0]. The strip ()
the except:
H_youshi1 = None
try:
h_youshi2 = h.x path (‘/div [2]/div [4]/span [2]/text () ‘) [0]. The strip ()
the except:
h_youshi2 = None
try:
H_youshi3 = h.x path (‘/div [2]/div [4]/span [3]/text () ‘) [0]. The strip ()
the except:
h_youshi3 = None
h_price = H.x path (‘/div [3]/span [1]/strong/text () ‘) [0]. The strip ()

house [‘ h_addr] = h_addr
house [‘ h_type] = h_type
house [‘ h_area] = h_area
House [‘ h_hight] = h_hight
house [‘ h_name] = h_name
house [‘ h_youshi1] = h_youshi1
house [‘ h_youshi2] = h_youshi2
house [‘ h_youshi3] = h_youshi3
House [‘ h_price] = h_price
# pprint (house)
time. Sleep (0.01)

# coll. Insert (house)
save (house)
Count + = 1
print (count)

def save (house) :

coll. Insert (house)

def main () :
get_info ()

if __name__ = = “__main__ ‘:
The main ()
This code can only run two pieces of data,

has two data sets, one with ‘_id’ and one without
There are two solutions:
1. Add a ‘_ID’ into the program. Set the _ID field by yourself instead of the system assignment:

Program no problem:

Two: put house={}, the dictionary inside the for loop:

Either of these approaches will solve the problem, and my personal suggestion is that the second approach, code specification, lets the system assign its own ID

A mistake about implicitly providing default constructors

As many C++ textbooks say, “if a class is defined and no constructor is provided, the compiler will implicitly provide a default constructor.”

the following excerpt from the original document of ISO C++ 99:

The default constructor (12.1), copy constructor and copy assignment operator (12.8), and destructor (12.4)

are special member functions. The implementation will
implicitly declare these member functions for a

class type
1. When the program does not declare explicitly them, except as noted in 12.1

will
implicitly define them
If they are used, as specified in 12.1, 12.4 and 12.8.

A default constructor for a class X is a constructor of class X that can be called without an argument. If

there is no user-declared constructor for class X, a default constructor is
implicitly declared. An implicitly-

declared default constructor is an
inline public member of its class.

An implicitly-declared default constructor for a class is
implicitly defined when
it is used to create an object

Declared -defined default constructor, everyone The set of Initializations of The

class that would be performed by a user-written default constructor for that class with
An Empty Meminitial-List (12.6.2) and an Empty Function body. If that user-written default constructor would be illformed,the program is ill-formed. Before the declared -declared default constructor for a class is implicitly

defined, all the implicitly-declared default constructors for its base classes and its nonstatic data members

shall have been implicitly defined. [Note: an implicitly-declared default constructor has an exceptionspecification(15.4).

the following excerpts from “corrigendum to sun xin vc tutorial” :

I said, “C++ also states that if a class does not provide any constructors, then C++ provides a default constructor (provided by the C++ compiler).” this statement is also incorrect, and correct:
If no constructor is defined in a class, the compiler will provide a default constructor only if:
1. If the class has virtual member functions or virtual inheritance parent class (i.e., virtual base class);
2. If the base class of the class has a constructor (either a user-defined constructor or a default constructor provided by the compiler);
3. All non-static object data members in a class that have constructors in their corresponding class (either user-defined constructors or default constructors provided by the compiler).
There are also such words in C++ Primer 14.2:

new users often mistakenly assume that if a default constructor does not exist, the compiler automatically generates a default construct

builds functions and applies them to objects to initialize the data members of the class, for the Account class we define

is not true, and the system neither generates the default constructor nor calls it. For those that contain a class data member or inheritance
The
more complex class, which is partially true, may generate a default constructor, but it will not be built-in or complex
Data members of the
combination, such as Pointers or arrays, provide an initial value.

can also be analyzed from the bottom layer:

C/C++ code

   
    
    
    class
     A
{
    public
    :
        
    int
     a;
        
    char
     
    *
    ptr;
};

    int
     main()
{
        A a;
        
    return
     
    0
    ;
}

The

code does not produce the default ctor, so the class looks like a struct under C, and none of the members need to be initialized.

evidence 1:

Assembly code

   
    
    97
    :   
    int
     main()
    98
    :   {
    0040D680
       
    push
            ebp
    0040D681
       
    mov
             ebp,esp
    0040D683
       
    sub
             esp,48h
    0040D686
       
    push
            ebx
    0040D687
       
    push
            esi
    0040D688
       
    push
            edi
    0040D689
       
    lea
             edi,[ebp-48h]
    0040D68C
       
    mov
             ecx,12h
    0040D691
       
    mov
             eax,0CCCCCCCCh
    0040D696
       
    rep
     stos    dword ptr [edi]  
    99
    :       A a
    ;
                      //Nothing to do
    
    100
    :      return 
    0
    ;
    0040D698
       
    xor
             eax,eax
    101
    :  }
    0040D69A
       
    pop
             edi
    0040D69B
       
    pop
             esi
    0040D69C
       
    pop
             ebx
    0040D69D
       
    mov
             esp,ebp
    0040D69F
       
    pop
             ebp
    0040D6A0
       
    ret
     

</ dl> however,

(1) if a member variable that requires a constructor is added, the default ctor is called, such as STD ::string

C/C++ code

   
    
    
#include 
    <
    string
    >
    
    class
     A
{
    public
    :
    
    int
     a;
    
    char
     
    *
    ptr;
    std::
    string
     test;
};

    int
     main()
{
    A a;
    
    return
     
    0
    ;
}
Assembly code

 

       
        
        
        int
         main()
        99
        :   {
        0040D680
           
        push
                ebp
        0040D681
           
        mov
                 ebp,esp
        0040D683
           
        sub
                 esp,5Ch
        0040D686
           
        push
                ebx
        0040D687
           
        push
                esi
        0040D688
           
        push
                edi
        0040D689
           
        lea
                 edi,[ebp-5Ch]
        0040D68C
           
        mov
                 ecx,17h
        0040D691
           
        mov
                 eax,0CCCCCCCCh
        0040D696
           
        rep
         stos    dword ptr [edi]
        100
        :      A a
        ;
        0040D698
           
        lea
                 ecx,[ebp-18h]
        ;
        this Pointer
        
        0040D69B
           
        call
                @ILT+
        35
        (
        A:
        :A) (
        00401028
        )
        ;
        The defaultctor is called.
        
        101
        :      return 
        0
        ;
        0040D6A0
           
        mov
                 dword ptr [ebp-1Ch],
        0
        
        0040D6A7
           
        lea
                 ecx,[ebp-18h]
        0040D6AA
           
        call
                @ILT+
        40
        (
        A:
        :~A) (
        0040102d
        )
        0040D6AF
           
        mov
                 eax,dword ptr [ebp-1Ch]
        102
        :  }
        0040D6B2
           
        pop
                 edi
        0040D6B3
           
        pop
                 esi
        0040D6B4
           
        pop
                 ebx
        0040D6B5
           
        add
                 esp,5Ch
        0040D6B8
           
        cmp
                 ebp,esp
        0040D6BA
           
        call
                __chkesp (
        00401170
        )
        0040D6BF
           
        mov
                 esp,ebp
        0040D6C1
           
        pop
                 ebp
        0040D6C2
           
        ret
         

(2) has a virtual function and will call the default ctor, such as:

C/C++ code

 [code
    =
    C
    /
    C
    ++
    ]
class A
{
public:
    int a;
    char *ptr;
    virtual void dd(){a=1;}
};

int main()
{
    A a;
    return 0;
}

 

 

corresponding Assembly

Assembly code

   
    
    
    100
    :      A a
    ;
    00401048
       
    lea
             ecx,[ebp-0Ch]
    0040104B
       
    call
            @ILT+
    15
    (
    A:
    :A) (
    00401014
    )
    ;
    The main thing here is to put the first address of the virtual function table into the first four bytes.
     

can be summarized as follows: the compiler always produces the default ctor when it is needed and when the user does not provide it. Doing so yields optimal efficiency.

Bindtextureimage: cleaning GL error: 0x502 during Android opengles2.0 hard decoding

When I do hard decoding and display it in opengles2.0 it always comes up with this prompt, why does it come up with no clue, until I write a new project and it doesn’t come up with this prompt, and then I compare the code and find out why it went wrong
The hard decodation should be made into a gles11ext.gl_texture_EXTERNal_OES texture, and the texture should be generated from SurfaceTexture. Update the texture data via updateTexImage() of SurfaceTexture, and then use Gles20. gl_texture_OES, Textures [0] when rendering; Textures [0]). Texture is GLES20.GL_TEXTURE_2D, Textures [0]. We did not use GLes11ext.gl_texture_EXTERNal_oes. Although the exception will not be thrown, bindTextureImage: clearing GL error: 0x502 will be notified. No alarms or errors

How to Use spatial in MAC

1. To https://distfiles.macports.org/MacPorts/ download package management tools

MacPorts-2.3.1-10.9-Mavericks.pkg

2. Install macPort and check whether the installation is successful

lqdeMacBook-Pro:~ lq$ port
MacPorts 2.3.1
Entering interactive mode... ("help" for help, "quit" to quit)
[Users/lq] > port
lqdeMacBook-Pro:~ lq$ port selfupdate
--->  Updating MacPorts base sources using rsync
Error: can't create directory "/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp": permission denied
Please run `port -v selfupdate' for details.
Error: /opt/local/bin/port: port selfupdate failed: can't create directory "/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/tmp": permission denied
lqdeMacBook-Pro:~ lq$ sudo port selfupdate
Password:
Sorry, try again.
Password:
--->  Updating MacPorts base sources using rsync
MacPorts base version 2.3.1 installed,
MacPorts base version 2.3.1 downloaded.
--->  Updating the ports tree
--->  MacPorts base is already the latest version

The ports tree has been updated. To upgrade your installed ports, you should run
  port upgrade outdated

3. Check if the package exists

You can go to the following website to check whether the package exists or not
https://www.macports.org/ports.php

4. Install the spatialite

lqdeMacBook-Pro:~ lq$ port intall spatialite
Error: Unrecognized action "port intall"
lqdeMacBook-Pro:~ lq$ port install spatialite
Error: Insufficient privileges to write to MacPorts install prefix.
lqdeMacBook-Pro:~ lq$ sudo port install spatialite  ———Note: You need to add sudo to get system privileges.
Warning: The Xcode Command Line Tools don't appear to be installed; most ports will likely fail to build.
Warning: Install them by running `xcode-select --install'.
--->  Computing dependencies for spatialite
--->  Dependencies to be installed: geos libxml2 libiconv xz gettext expat ncurses zlib proj sqlite3 libedit
--->  Fetching archive for geos
--->  Attempting to fetch geos-3.4.2_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/geos
--->  Attempting to fetch geos-3.4.2_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/geos
--->  Installing geos @3.4.2_0
--->  Activating geos @3.4.2_0
--->  Cleaning geos
--->  Fetching archive for libiconv
--->  Attempting to fetch libiconv-1.14_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/libiconv
--->  Attempting to fetch libiconv-1.14_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/libiconv
--->  Installing libiconv @1.14_0
--->  Activating libiconv @1.14_0
--->  Cleaning libiconv
--->  Fetching archive for expat
--->  Attempting to fetch expat-2.1.0_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/expat
--->  Attempting to fetch expat-2.1.0_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/expat
--->  Installing expat @2.1.0_0
--->  Activating expat @2.1.0_0
--->  Cleaning expat
--->  Fetching archive for ncurses
--->  Attempting to fetch ncurses-5.9_2.darwin_13.x86_64.tbz2 from http://packages.macports.org/ncurses
--->  Attempting to fetch ncurses-5.9_2.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/ncurses
--->  Installing ncurses @5.9_2
--->  Activating ncurses @5.9_2
--->  Cleaning ncurses
--->  Fetching archive for gettext
--->  Attempting to fetch gettext-0.19.1_1.darwin_13.x86_64.tbz2 from http://packages.macports.org/gettext
--->  Attempting to fetch gettext-0.19.1_1.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/gettext
--->  Installing gettext @0.19.1_1
--->  Activating gettext @0.19.1_1
--->  Cleaning gettext
--->  Fetching archive for xz
--->  Attempting to fetch xz-5.0.5_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/xz
--->  Attempting to fetch xz-5.0.5_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/xz
--->  Installing xz @5.0.5_0
--->  Activating xz @5.0.5_0
--->  Cleaning xz
--->  Fetching archive for zlib
--->  Attempting to fetch zlib-1.2.8_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/zlib
--->  Attempting to fetch zlib-1.2.8_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/zlib
--->  Installing zlib @1.2.8_0
--->  Activating zlib @1.2.8_0
--->  Cleaning zlib
--->  Fetching archive for libxml2
--->  Attempting to fetch libxml2-2.9.1_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/libxml2
--->  Attempting to fetch libxml2-2.9.1_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/libxml2
--->  Installing libxml2 @2.9.1_0
--->  Activating libxml2 @2.9.1_0
--->  Cleaning libxml2
--->  Fetching archive for proj
--->  Attempting to fetch proj-4.8.0_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/proj
--->  Attempting to fetch proj-4.8.0_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/proj
--->  Installing proj @4.8.0_0
--->  Activating proj @4.8.0_0
--->  Cleaning proj
--->  Fetching archive for libedit
--->  Attempting to fetch libedit-20121213-3.0_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/libedit
--->  Attempting to fetch libedit-20121213-3.0_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/libedit
--->  Installing libedit @20121213-3.0_0
--->  Activating libedit @20121213-3.0_0
--->  Cleaning libedit
--->  Fetching archive for sqlite3
--->  Attempting to fetch sqlite3-3.8.4.3_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/sqlite3
--->  Attempting to fetch sqlite3-3.8.4.3_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/sqlite3
--->  Installing sqlite3 @3.8.4.3_0
--->  Activating sqlite3 @3.8.4.3_0
--->  Cleaning sqlite3
--->  Fetching archive for spatialite
--->  Attempting to fetch spatialite-4.1.1_0.darwin_13.x86_64.tbz2 from http://packages.macports.org/spatialite
--->  Attempting to fetch spatialite-4.1.1_0.darwin_13.x86_64.tbz2.rmd160 from http://packages.macports.org/spatialite
--->  Installing spatialite @4.1.1_0
--->  Activating spatialite @4.1.1_0
--->  Cleaning spatialite
--->  Updating database of binaries
--->  Scanning binaries for linking errors               
--->  No broken files found.

5. Test whether the installation is successful

lqdeMacBook-Pro:~ lq$ sqlite3
SQLite version 3.8.4.3 2014-04-03 16:53:12
Enter ".help" for usage hints.
Connected to a transient in-memory database.
Use ".open FILENAME" to reopen on a persistent database.
sqlite> select load_extension('libspatialite')
   ...> ;
Error: dlopen(libspatialite.dylib, 10): image not found
sqlite> select load_extension('libspatialite-5');
Error: dlopen(libspatialite-5.dylib, 10): image not found
sqlite> select load_extension('libspatialite.5');
Error: dlopen(libspatialite.5.dylib, 10): image not found
sqlite> select load_extension('/opt/local/lib/libspatialite.5’); // Note: This is the compile path automatically generated by the system after downloading, it must be full path or it may not be read successfully.

sqlite> select geomfromtext('POINT ( 23 56 )', 4326)
   ...> ;
sqlite>select astext(geomfromtext('POINT ( 23 56 )', 4326));
POINT(23 56)
sqlite> 

 

Solution of Oracle error 6550

When exporting data using the EXP command, the following appears:
EXP-00056: ORACLE error 6550 encountered
ORA-06550: line 1, column 41:
PLS-00302: component ‘SET_NO_OUTLINES’ must be declared
ORA-06550: line 1, column 15:
PL/SQL: Statement ignored
EXP-00000: Export terminated unsuccessfully
Cause
Use of Higher Version Export utility (10.2.0.1) on Lower Version database(9.2.0.6).
The main reason is that the server and client versions are not correct
You can modify oracle’s in the environment variable (Path)
D:/oracle/product/10.2.0/db_1/bin; D:/oracle/product/10.2.0/client_1/bin; The location of the
 

Angularjs1 exception error:[$injector:unpr]

Injector: [$Injector: UNPR]

<html>

    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
        <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0" />
        <script type="text/javascript" src="js/angular.min.1.3.6.js"></script>


    </head>

    <body ng-app='myapp1'>
        <cus></cus>

    </body>
    <script type="text/javascript">
        var app = angular.module('myapp1', []);

        //Throw this exception, the problem is in this piece of code: here the function's argument is passed in more than $scope, and after removing it, the exception is resolved
        // Running this exception means there is a problem with the injected content, and when you encounter a similar exception, check if the injected content is correct!

        app.directive("cus",function($scope){
            return function(scope,element,attrs){
                console.log('返回element=='+element);
            }
        });






    </script>

</html>

Compiling TPC-H tools for Mac

Download TPC-H Tools
http://www.tpc.org/tpch/
1 modify the Makefile
Unzip the TPCH file and enter the dbgen directory.
cp makefile.suite makefile
Open the Makefile, find and modify the following lines (103~111)

################
## CHANGE NAME OF ANSI COMPILER HERE
################
CC      = gcc 
# Current values for DATABASE are: INFORMIX, DB2, TDAT (Teradata)
#                                  SQLSERVER, SYBASE, ORACLE, VECTORWISE
# Current values for MACHINE are:  ATT, DOS, HP, IBM, ICL, MVS, 
#                                  SGI, SUN, U2200, VMS, LINUX, WIN32 
# Current values for WORKLOAD are:  TPCH
DATABASE= SQLSERVER
MACHINE = LINUX
WORKLOAD = TPCH

2 compile
make
Because my computer is a Mac, I made an error compiling DBgen:

bm_utils.c:71:10: fatal error: 'malloc.h' file not found
#include <malloc.h>
         ^~~~~~~~~~
1 error generated.
make: *** [bm_utils.o] Error 1  # varsub.o

In the file where the error will be reported:

#include <malloc.h>

Modified to

#include <sys/malloc.h>

Done.
3 Generating data
./dbgen -s 1 -f
Convert.tbl data into CSV:
for I in 'ls *. TBL'; do sed 's/|$//' $i > ${i/tbl/csv}; echo $i; done;
4 Generate query data

Open failed for./1. SQL at qgen. C :170
Environment variable needs to be set: export DSS_QUERY=PATH_TO_QUERIES_FOLDER
generally, type export DSS_QUERY=queries


Mac does not have vmstat. Change vmstat in TpCH.sh to VM_stat

The reasons for the following errors occurred when opening the webgl project of unity

Two days ago, I tried to export the webGL project of U3D. I opened it with Firefox browser, but it could not be opened. The following error occurred:

An error occured running the Unity content on this page. See your browser’s JavaScript console for more info. The error was:

uncaught exception: abort(-1) at jsStackTrace@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:1:22814

stackTrace@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:1:22997

abort@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:29:48759

__Z26RegisterClass_MovieTexturev [RegisterClass_MovieTexture()]@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:1:320476

zqi@blob:null/ee7e2c84-6036-4343-adae-3353ad18a087:22:1

mAb@blob:null/ee7e2c84-6036-4343-adae-3353ad18a087:10:1

Wyb@blob:null/ee7e2c84-6036-4343-adae-3353ad18a087:10:1

xJc@blob:null/ee7e2c84-6036-4343-adae-3353ad18a087:15:1

callMain@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:29:46880

doRun@blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:29:47707

run/< @blob:null/21b3ccc8-02d9-4b14-ad3b-21e2001b487a:29:47875

If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.

I thought some Settings of webGL or Firefox might have been modified by accident, but they still can’t be reinstalled. There is no same answer on the Internet, and the q&A is all over the UK, which makes me die.

Later looked at the mistake carefully, suddenly found the key sentence! ___registerclass_movietexturev [RegisterClass_MovieTexture()] @BLOB: NULL/21B3CCC8-02D9-4B14-ad3B-21E2001B487A :1:320476. So movieTexture is a little bit familiar. If I go back to my project, I find a folder called MovieTexture that contains a few.mp4 video files. Delete all the videos in it, export it again, open it normally, solve it successfully!

Conclusion:
1. This time, it may be because webGL cannot recognize the video files, so it can be solved by deleting all the video files in the project.
2. The problem is with the error message, so take a look at that and if you find a sentence that’s most relevant to your project, that should be the one that makes the error, like my project movieTexture.

Error cs1010 cs8025 cs1012 cs1525 common document error resolution

error CS1010: Newline in constant
error CS8025: Parsing error
error CS1012: Too many characters in character literal
error CS1525: The Unexpected symbol ‘►►’
code has no errors, but there are errors. This is due to coding problems. Use other text tools to save the document to unicode (some tools show “including unicode signature (Bom)”).

Error: a JNI error has occurred, please check your installation and try again

Java files do not report an error, but Java does report an error when it is run
Take a closer look at the error message
Exception in thread “main” java.lang.UnsupportedClassVersionError: The helloworld has had been compiled by a more recent version of the Java Runtime (class file version 54.0), and this version of the Java Runtime only recognizes the class file versions up to 52.0
Check the cause and find that the Java version is inconsistent with the JavAC version.
Java-version and Javac-Version, indeed
The two versions do not agree
Solution:
1. Query how many Java versions are in Linux

rpm -qa |grep java

2. Then delete them one by one

rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.181-3.b13.el7_5.x86_64
rpm -e --nodeps java-1.7.0-openjdk-1.7.0.171-2.6.13.0.el7_4.x86_64
rpm -e --nodeps java-1.7.0-openjdk-headless-1.7.0.171-2.6.13.0.el7_4.x86_64
rpm -e --nodeps java-1.8.0-openjdk-1.8.0.181-3.b13.el7_5.x86_64 
(Enter rpm --e --nodeps + "existing version of java") Delete as many as you can.

3. Verify that all the original Java versions have been removed

[root@yuan 8-1]# java - version
-bash: /usr/bin/java: No such file or directory

4. Configure newly installed Java environment variables after the original version is removed

vi /etc/profile 

Edit the profile file and add it at the end

JAVA_HOME=/usr/local/java/jdk-10.0.2/   ###(“jdk-10.0.2" is changed to the name of the installation file of the java version you want to install.)
JRE_HOME=$JAVA_HOME/           ###(As there is no jre folder after jdk10 unzip, if it is below jdk10 version, you should
                               for“JRE_HOME=$JAVA_HOME/jre”)
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export JAVA_HOME JRE_HOME PATH CLASSPATH

5. Last update

source /etc/profile

complete