Jump to content

sizenine

Members
  • Posts

    149
  • Joined

  • Last visited

Posts posted by sizenine

  1. 1 18 2012-03-17

    Whoops, I meant in the index.php where the actual script is in the module.

    Something with the error on @hp something. Should be like, the last third line.

    //Highest Peak Table

    $hp = Flux::config('FluxTables.HighestPeak');

    $sql = "SELECT num_users,peak_date FROM {$server->loginDatabase}.$hp LIMIT 1";

    $sth = $server->connection->getStatement($sql);

    $sth->execute();

    $hp = $sth->fetchAll();

    ?

  2. First off, thank you for the patch JayPee!

    However, after applying the patch, my page keeps saying "No Server Highest Peak Found". I checked the sql db though and there is a value stored... it's just not showing on the php.

    Okay, good, I thought it was just me ><! I had the same issue and the problem was on line 40 or so of the actual php script.

    line 40 of which script? i dont see a php file with up to 40 lines.

  3. Since I started using rA (used 3ceam before), I've been getting map servers quite frequently:

    "Crash signal was sent! Attempting to save all.."

    I want to help but I'm not sure how to find out the cause of the issue. Any advice? I'm currently on r15689 so I'm pretty up to date too..

    I have a feeling it's caused by skills though and I also found these leaks, but I'm not sure if that helps..

    [H[2J[24;1H"map-server_sql.leaks" 22 lines, 1093 characters[2;1HMemory manager: Memory leaks found at 2012/02/28 07h23m32s (Revision 15627).

    0001 : clif.c line 849 size 24 address 0x0xea5caea4

    0002 : clif.c line 849 size 24 address 0x0xea5caf04

    0003 : clif.c line 849 size 24 address 0x0xea5caff4

    0004 : clif.c line 849 size 24 address 0x0xea5cb0e4

    0005 : clif.c line 849 size 24 address 0x0xea5cb114

    0006 : clif.c line 849 size 24 address 0x0xea5cb1d4

    0007 : clif.c line 849 size 24 address 0x0xea5cb234

    0008 : clif.c line 849 size 24 address 0x0xea5cb264

    0009 : clif.c line 849 size 24 address 0x0xea5cb294

    0010 : clif.c line 849 size 24 address 0x0xea5cb2c4

    0011 : clif.c line 849 size 24 address 0x0xea5cb2f4

    0012 : clif.c line 849 size 24 address 0x0xea5cb324

    0013 : clif.c line 849 size 24 address 0x0xea5cb354

    0014 : clif.c line 849 size 24 address 0x0xea5cb384

    0015 : clif.c line 849 size 24 address 0x0xea5cb3b4

    0016 : clif.c line 849 size 24 address 0x0xea5cb984

    Memory manager: Memory leaks found at 2012/03/13 13h44m56s (Revision 15627).

    0001 : skill.c line 14803 size 604 address 0x0xf2204bcc

    0002 : line 2280 size 2280 address 0x0xf2204e3c

    Here are the lines in my src...

    clif.c line 849:

    void clif_clearunit_delayed(struct block_list* bl, clr_type type, unsigned int tick)

    {

    struct block_list *tbl;

    tbl = (struct block_list*)aMalloc(sizeof (struct block_list));

    memcpy (tbl, bl, sizeof (struct block_list));

    add_timer(tick, clif_clearunit_delayed_sub, (int)type, (intptr_t)tbl);

    }

    14803 in skill.c function skill_blockpc_start_():

    skillid = skill_get_index(skillid);

    if (skillid == 0)

    return -1;

    if (tick < 1) {

    sd->blockskill[skillid] = 0;

    return -1;

    }

    if( battle_config.display_status_timers )

    2280 in skill.c

    case WL_TETRAVORTEX_FIRE:

    case WL_TETRAVORTEX_WATER:

    case WL_TETRAVORTEX_WIND:

    case WL_TETRAVORTEX_GROUND:

    dmg.dmotion = clif_skill_damage(src,bl,tick,dmg.amotion,dmg.dmotion,damage,1,WL_TETRAVORTEX_FIRE,-2,type);

    break;

    UPDATE:

    Some more error messages I get from the map server:

    [Error]: status_change_timer: Mismatch for type 25: 126 != 2 (bl id 110015935)

    [info]: Saved guild (...): members

    [Error]: Server received crash signal! Attempting to save all online characters!

    [info]: Saved char ....: status skills.

    [info]: Saved char ....: status.

    [info]: Saved char ....: inventory status skills hotkeys.

    [status]: Map-server #0 has disconnected.

    Segmentation fault (core dumped)

    UPDATE:

    I've finally pinpointed down to who's causing the crashes. For some reason I don't know why, but only a specific player's character on my server is able to crash the server with her Rune Knight. She has no equips on, no status icons on, nothing. But when she cast skills on monsters, the map server crashes after she kills a few monsters guaranteed, regardless if it was single target skill, AoE skill, or even if it was a Melee attack.

    Here are some more errors we've encountered through our testing sessions with her character:

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: map_clearflooritem_timer : error

    [Error]: Server received crash signal! Attempting to save all online characters!

    UPDATE:

    I think I have pinpointed the cause... >.<

    Apparently, if you have tax on a guildmember, that taxed character will crash the server when he attacks monsters.

    And I bumped into some more errors:

    [Error]: delete_timer error : function mismatch 0x817f210(party_send_xy_timer) != 0x80cf820(status_change_timer)

    [Error]: delete_timer error : function mismatch 0x817f210(party_send_xy_timer) != 0x80cf820(status_change_timer)

    [Error]: Server received crash signal! Attempting to save all online characters!

    [status]: Map-server #0 has disconnected.

    Segmentation fault (core dumped)

  4. so i just stick a bunch of "ShowInfo()" between the code lines?

    BUILDIN_FUNC(useatcmd)
    {
    TBL_PC dummy_sd;
    ShowInfo();
    TBL_PC* sd;
    ShowInfo();
    int fd;
    ShowInfo();
    const char* cmd;
    ShowInfo();
    cmd = script_getstr(st,2);
    
    if (st->rid) {
    ShowInfo();
    sd = script_rid2sd(st);
    ShowInfo();
    fd = sd->fd;
    ShowInfo();
    } else { //Use a dummy character.
    ShowInfo();
    sd = &dummy_sd;
    fd = 0;
    ShowInfo();
    memset(&dummy_sd, 0, sizeof(TBL_PC));
    ShowInfo();
    if (st->oid)
    {
    ShowInfo();
    struct block_list* bl = map_id2bl(st->oid);
    ShowInfo();
    memcpy(&dummy_sd.bl, bl, sizeof(struct block_list));
    ShowInfo();
    if (bl->type == BL_NPC)
    ShowInfo();
    safestrncpy(dummy_sd.status.name, ((TBL_NPC*)bl)->name, NAME_LENGTH);
    ShowInfo();
    }
    ShowInfo();
    }
    
    // compatibility with previous implementation (deprecated!)
    if(cmd[0] != atcommand_symbol)
    {
    ShowInfo();
    cmd += strlen(sd->status.name);
    ShowInfo();
    while(*cmd != atcommand_symbol && *cmd != 0)
    ShowInfo();
    cmd++;
    }
    ShowInfo();
    is_atcommand(fd, sd, cmd, 2);
    ShowInfo();
    return 0;
    }

    lol... like that? i dont know what im doing obviously.

  5. are monsters not supposed to spawn in castles anymore when they are abandoned? for some reason they disappeared after my last svn update. also, i noticed that there is no emperiums/guardian stones when the castle is abandoned unless WoE is on. they used to be there even if WoE was not activated.

  6. Probably has something to do with attached player when checking and "useatcmd"-ing, probably null reference in useatcmd. Put some console debug writers in that function and see what you get.

    My guess is that it doesn't check whether <charname> is actually a character.

    Sorry I'm not too familiar with console debug writers".. but I've tried it on actual existing char names and it still crashes the server.

  7. Thanks that seems to have worked but now I found a possible glitch...

    I've written somewhat of a small script to add a requirement for Emperium when using the command @guild:

    
    - script atcmd_sample_inject -1,{
    
    OnInit:
    bindatcmd("guild", "atcmd_sample_inject::OnAtCmd");
    end;
    
    
    
    OnAtCmd:
    if (.@atcmd_command$ == "$guild") { end; }
    if(countitem(714) < 1) 
    {
    dispbottom "You need the necessary item to create a Guild.";
    }
    else
    {
    useatcmd "@guild " + .@atcmd_parameters$[0];
    }
    end;
    
    }

    After implementing that script, the @guild command works fine with the item requirement. However, when I try to use #guild <charname> <guildname>, the map server will receive a crash signal. Is there something wrong with my script? Or is this a flaw in the diff?

  8. I'm getting this error:

    npc.c:784: undefined reference to `aMallocA'

    from applying this diff by ToastOfDoom.. can anyone help me solve this?

    http://www.eathena.w...howtopic=272578

    Here is part of the src that shows line 784 in npc.c:

    +int do_atcmd_event (struct map_session_data* sd, const char* command, const char* message, const char* eventname)
    +{
    + struct event_data* ev = (struct event_data*)strdb_get(ev_db, eventname);
    + struct npc_data *nd;
    + struct script_state *st;
    + int i = 0, j = 0, k = 0;
    + char *temp;
    + temp = (char*)aMallocA(strlen(message) + 1);
    
    +
    + nullpo_ret(sd);
    +
    + if( ev == NULL || (nd = ev->nd) == NULL )
    + {
    + ShowError("npc_event: event not found [%s]n", eventname);
    + return 0;

  9. Arc, I'm actually using this in your 300 Monster script.. I don't even know how to set this in there when the line has no semi colon to end it.

    This is what I have:

    OnTimer10000:

    instance_announce 0,'chamonname4$+": Then I shall see you myself!",bc_map;

    'mapname$,150,150,150,150 monster 'chamonname4$ 'chamonid4,1,0,0,instance_npcname("#MvP Summoner", instance_id())+"::OnMy300MVPDead"

    stopnpctimer;

    end;

    tested it and i get an script error: "parse_line: expect command, missing function name or calling undeclared function".

    i believe this command is only meant for stand-alone perma mob spawns and not to be used inside npc scripts.

×
×
  • Create New...