Erlang vm beam.smp crash

刘小飞 <[email protected]>
Newsgroups gmane.comp.lang.erlang.bugs
Message-ID <[email protected]>
I use http://www.erlang.org/download/otp_src_17.0.tar.gz to build the erlang.

BIF_RETTYPE port_get_data_1(BIF_ALIST_1)
{
    /*
     * This is not a signal. See comment above.
     */
    Eterm res;
    erts_aint_t data;
    Port* prt;

    prt = data_lookup_port(BIF_P, BIF_ARG_1);
    if (!prt)
        BIF_ERROR(BIF_P, BADARG);

    data = erts_smp_atomic_read_ddrb(&prt->data);
    if (!data)
        BIF_ERROR(BIF_P, BADARG);      //I add the two lines to correct it.

    if ((data & 0x3) != 0) {
    res = (Eterm) (UWord) data;
    ASSERT(is_immed(res));
    }
    else {
    ErtsPortDataHeap *pdhp = (ErtsPortDataHeap *) data;
    Eterm *hp = HAlloc(BIF_P, pdhp->hsize);
    res = copy_struct(pdhp->data, pdhp->hsize, &hp, &MSO(BIF_P));
    }

    BIF_RET(res);
}


(gdb) bt full
#0  0x0000000000514524 in port_get_data_1 (A__p=0x7f4bc0d66488, BIF__ARGS=<value optimized out>) at beam/erl_bif_port.c:591
        pdhp = 0x0
        hp = <value optimized out>
        data = 0
#1  0x000000000054d517 in process_main () at beam/beam_emu.c:2787
        bf = 0x514490 <port_get_data_1>
        result = 1688368833101607
        init_done = 1
        c_p = 0x7f4bc0d66488
        reds_used = 178536832
        x0 = 1688368833101607
        reg = 0x7f4c0aa44180
        HTOP = 0x7f4bc036d350
        E = 0x7f4bc0370b18
        I = 0x7f4bfb5c7af8
        FCALLS = 1984
        tmp_arg1 = 139963324058344
        tmp_arg2 = 15
        tmp_big = {139964436718400, 5662828}
        freg = 0x7f4c0aa461c0
        neg_o_reds = 0
        arith_func = 0
        opcodes = {0x54c14a, 0x54b78e, 0x54c06a, 0x54c0eb, 0x54c2f8, 0x54cee5, 0x54cb67, 0x54e173, 0x54ec5c, 0x54ca4d, 0x54ca43, 0x54ca23, 0x54908b, 0x54c5fe, 0x54d5c8, 0x54d605, 0x54d5f6, 0x54957d, 0x549451, 0x54d366, 0x54d26d,
          0x54d29b, 0x54d063, 0x54d092, 0x54d245, 0x54d223, 0x54d176, 0x54d4bb, 0x54ca52, 0x54caa1, 0x54ba31, 0x54ba07, 0x54ba26, 0x54bf45, 0x54bf66, 0x54ccfb, 0x54c949, 0x546667, 0x54ca9c, 0x54674e, 0x546771, 0x54667a, 0x5466ab,
          0x5466dc, 0x546715, 0x5464cd, 0x54eaa8, 0x54e14e, 0x54ea52, 0x54eb16, 0x546795, 0x5467b6, 0x5467d8, 0x5467f5, 0x546823, 0x546852, 0x546870, 0x54689f, 0x5468cf, 0x5468fc, 0x54692a, 0x546957, 0x54699e, 0x5469e6, 0x546a14,
          0x546a5c, 0x546aa5, 0x546ad3, 0x546b02, 0x546b30, 0x546b78, 0x546bc1, 0x546bf0, 0x546c39, 0x54d3bf, 0x54b2ce, 0x54b39e, 0x54b3c9, 0x54e468, 0x54b3bf, 0x54b5f8, 0x54e1d9, 0x54b046, 0x54b0ac, 0x54b65f, 0x54ce89, 0x54b47a,
          0x54d44b, 0x54e23b, 0x54b4bd, 0x5493b7, 0x54947d, 0x54ddf7, 0x54df22, 0x54e011, 0x54d8dd, 0x54d60f, 0x54d694, 0x54d965, 0x54d9db, 0x54da59, 0x54db67, 0x54d718, 0x54d348, 0x54d2c2, 0x54d340, 0x54b103, 0x54d34d, 0x54d1a0,
          0x54d8d6, 0x54d857, 0x54d8b7, 0x54d6ad, 0x54d57d, 0x54d5ba, 0x54d810, 0x54d849, 0x549430, 0x54bbbe, 0x54e2f0, 0x54d38c, 0x54e331, 0x54e345, 0x54bab9, 0x54e357, 0x549185, 0x54e3c9, 0x54e3e9, 0x5494f1, 0x549306, 0x549515,
          0x54d6a5, 0x54bbc9, 0x54953a, 0x54d0ee, 0x54d0b2, 0x54df04, 0x54ddd1, 0x54bc6c, 0x54dede, 0x54dd60, 0x54dc7d, 0x54dcef, 0x54af53, 0x54afcc, 0x54e7ca, 0x54e7ff, 0x54e294, 0x54e2be, 0x54b6ca, 0x54d355, 0x54d211, 0x54cf47,
          0x54cf9a, 0x54d007, 0x54d12e, 0x54ec20, 0x54b559, 0x54b507, 0x546539, 0x54656a, 0x5465a3, 0x5465e0, 0x54e0ea, 0x54e400, 0x546504, 0x5464e2, 0x54ea08, 0x54be99, 0x54c53b, 0x54c5d7, 0x54e774, 0x54bee0, 0x54bf28, 0x54bf36,
          0x5464cd, 0x54b222, 0x546d1f, 0x546d3e, 0x546d81, 0x546da0, 0x546dd2, 0x546e29, 0x546e49, 0x546e7c, 0x546d04, 0x546d5e, 0x546e05, 0x546ca2, 0x546cbd, 0x546ce0, 0x546c83, 0x54e83c, 0x54b1cc, 0x54b278, 0x54eb5b, 0x54ba46,
          0x54c683, 0x54c726, 0x54c7b4...}
        temp_bits = 139964436760704
        pt_arity = 139963334550664
        start_time = 0
        start_time_i = 0x0
        EBS = 0x7f4c0288c898
#2  0x00000000004a081b in sched_thread_func (vesdp=0x7f4c0288c880) at beam/erl_process.c:7665
        callbacks = {arg = 0x7f4c02882380, wakeup = 0x4a21b0 <thr_prgr_wakeup>, prepare_wait = 0x49e370 <thr_prgr_prep_wait>, wait = 0x49f6f0 <thr_prgr_wait>, finalize_wait = 0x49e350 <thr_prgr_fin_wait>}
        esdp = 0x7f4c0288c880
        no = 2
#3  0x00000000005df676 in thr_wrapper (vtwd=<value optimized out>) at pthread/ethread.c:110
        result = <value optimized out>
        res = 0x7fffd82d4b90
        twd = <value optimized out>
        thr_func = 0x4a0700 <sched_thread_func>
        arg = 0x7f4c0288c880
        tsep = 0x7f4c0a2800a0
#4  0x00000037d10079d1 in start_thread () from /lib64/libpthread.so.0
No symbol table info available.
#5  0x00000037d0ce8b6d in ?? ()
No symbol table info available.
#6  0x0000000000000000 in ?? ()
No symbol table info available.

_______________________________________________
erlang-bugs mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-bugs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.