# Crash #3

asb@media.mit.edu (asb@media.mit.edu)
Mon, 23 Oct 1995 10:21:16 PDT

- Messages sorted by:[ date ][ thread ][ subject ][ author ]

    We just went down in flames again.  Looks like the same bug as the first
    crash--it's a match expression on the inter-moo communications feature.  Not
    sure if this additional info is helpful, but here you go:

    Oct 23 12:55:37: *** PANIC: Caught signal 10
    Oct 23 12:55:37: *** COMMAND HISTORY:
    [ordinary looking stuff deleted]
    Oct 23 12:55:37: #6402:announce_login announce_logout, line 11:  server panic
    Oct 23 12:55:37: ... called from #6402:use, line 16
    Oct 23 12:55:37: ... called from #2018:transmit, line 62
    Oct 23 12:55:37: ... called from #2018:use, line 8
    Oct 23 12:55:38: ... called from #7573:handle (this == #10700), line 20
    Oct 23 12:55:38: ... called from #7573:open (this == #10700), line 47
    Oct 23 12:55:38: ... called from #7573:keep_open (this == #10700), line 6
    Oct 23 12:55:38: ... called from #7573:server_started (this == #10700), line 7
    Oct 23 12:55:38: ... called from #0:server_started, line 5
    Oct 23 12:55:38: (End of traceback)
    Oct 23 12:55:38: PANIC-DUMPING on MediaMOO.db.new.PANIC ...

    (dbx) where
    warning: core file read error: address not in data space
    kill() at 0xf775f040
    abort_server(), line 117 in "code/MOO-1.7.9p1/server.c"
    panic(), line 145 in "code/MOO-1.7.9p1/server.c"
    panic_signal(), line 154 in "code/MOO-1.7.9p1/server.c"
    _sigtramp() at 0xf7732c4c
    rx_cache_malloc_or_get(), line 3128 in "code/MOO-1.7.9p1/rx.c"
    rx_cache_malloc_or_get(), line 3128 in "code/MOO-1.7.9p1/rx.c"
    superset_allocator(), line 3194 in "code/MOO-1.7.9p1/rx.c"
    rx_hash_store(), line 1007 in "code/MOO-1.7.9p1/rx.c"
    rx_superset_cons(), line 3397 in "code/MOO-1.7.9p1/rx.c"
    rx_superstate_eclosure_union(), line 3428 in "code/MOO-1.7.9p1/rx.c"
    rx_superstate_eclosure_union(), line 3428 in "code/MOO-1.7.9p1/rx.c"
    rx_superstate_eclosure_union(), line 3428 in "code/MOO-1.7.9p1/rx.c"
    rx_superstate_eclosure_union(), line 3428 in "code/MOO-1.7.9p1/rx.c"
    solve_destination(), line 3730 in "code/MOO-1.7.9p1/rx.c"
    rx_handle_cache_miss(), line 4051 in "code/MOO-1.7.9p1/rx.c"
    re_search_2(rxb = 0x40d38, string1 = (nil), size1 = 0, size2 = 8, startpos = 8,
    range = 45716280, regs = 0x43cf8, stop = 8), line 7925 in "code/MOO-1.7.9p1/rx.c
    "
    re_search(), line 8070 in "code/MOO-1.7.9p1/rx.c"
    do_match(), line 794 in "code/MOO-1.7.9p1/list.c"
    bf_match(), line 846 in "code/MOO-1.7.9p1/list.c"
    call_bi_func(), line 224 in "code/MOO-1.7.9p1/functions.c"
    run(result = (nil)), line 1134 in "code/MOO-1.7.9p1/execute.c"
    resume_from_previous_vm(), line 1332 in "code/MOO-1.7.9p1/execute.c"
    resume_reading_vm(), line 75 in "code/MOO-1.7.9p1/eval_vm.c"
    run_ready_tasks(), line 877 in "code/MOO-1.7.9p1/tasks.c"
    main_loop(), line 337 in "code/MOO-1.7.9p1/server.c"
    main(), line 1002 in "code/MOO-1.7.9p1/server.c"
    (dbx)

    @program #6402:announce_login
    if (caller != this)
      return E_PERM;
    endif
    from = args[1];
    what = args[2];
    login = verb == "announce_login";
    ann_list = this.listening[from in this.servers];
    for i in [1..length(ann_list) / 2]
      who = ann_list[i * 2 - 1];
      how = ann_list[i * 2];
      if (match(what, how))
        who:tell("<< ", ctime()[12..16], " ", login ? "Connected to " | "Disconnected from ", this.link.s_names[from in this.link.s_codes], ": ", what[1..length(what) - 2], " >>");
      endif
    endfor

    More info available on request.

    -- Amy