komisaris 0 Posted January 2, 2015 does anyone know the sollution of this issue? my map-server crash when executing @mi command. Quote Share this post Link to post Share on other sites
0 Dastgir 1246 Posted January 3, 2015 Any more information?? Like which monster you doing @mi, And gdb report would help to solve your problem. Quote Share this post Link to post Share on other sites
0 komisaris 0 Posted January 3, 2015 (edited) Any more information?? Like which monster you doing @mi, And gdb report would help to solve your problem. ok, thanks for your reply @Dastgir. i've tested on random monster id and name but all caused map-server crash and this is my GDB result on map-server crash when using "@mi poring' command. [cbox][Thread debugging using libthread_db enabled] Using host libthread_db library "/lib64/libthread_db.so.1". Core was generated by `./map-server'. Program terminated with signal 11, Segmentation fault. #0 0x00007ff42fe66b5b in vfprintf () from /lib64/libc.so.6 Missing separate debuginfos, use: debuginfo-install glibc-2.17-55.el7_0.3.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.11.3-49.el7.x86_64 libcom_err-1.42.9-4.el7.x86_64 libgcc-4.8.2-16.2.el7_0.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.2-16.2.el7_0.x86_64 mariadb-libs-5.5.40-1.el7_0.x86_64 openssl-libs-1.0.1e-34.el7_0.6.x86_64 pcre-8.32-12.el7.x86_64 xz-libs-5.1.2-8alpha.el7.x86_64 zlib-1.2.7-13.el7.x86_64 (gdb) bt full #0 0x00007ff42fe66b5b in vfprintf () from /lib64/libc.so.6 No symbol table info available. #1 0x00007ff42fe8c9cb in vsprintf () from /lib64/libc.so.6 No symbol table info available. #2 0x00007ff42fe6fe07 in sprintf () from /lib64/libc.so.6 No symbol table info available. #3 0x0000000000667a5a in atcommand_mobinfo.5274 () No symbol table info available. #4 0x0000000000637882 in atcommand_exec.part.70.6117 () No symbol table info available. #5 0x00000000006574ba in atcommand_exec.4013 () No symbol table info available. #6 0x000000000060d8e9 in clif_parse_GlobalMessage () No symbol table info available. #7 0x00000000006001a8 in clif_parse () No symbol table info available. #8 0x0000000000408a5d in do_sockets.3857 () No symbol table info available. #9 0x0000000000405add in main () No symbol table info available. [/cbox] Edited January 3, 2015 by komisaris Quote Share this post Link to post Share on other sites
0 malufett 247 Posted January 3, 2015 can you show us what is in your atcommand.c line 5274 Quote Share this post Link to post Share on other sites
0 komisaris 0 Posted January 4, 2015 (edited) can you show us what is in your atcommand.c line 5274 here is my atcommand.c line 5274 [cbox]ACMD(displayskill) { // <-------- Line 5274 struct status_data *st; int64 tick; uint16 skill_id; uint16 skill_lv = 1; if (!message || !*message || sscanf(message, "%hu %hu", &skill_id, &skill_lv) < 1) { clif->message(fd, msg_txt(1166)); // Usage: @displayskill {} return false; } st = status->get_status_data(&sd->bl); tick = timer->gettick(); clif->skill_damage(&sd->bl,&sd->bl, tick, st->amotion, st->dmotion, 1, 1, skill_id, skill_lv, 5); clif->skill_nodamage(&sd->bl, &sd->bl, skill_id, skill_lv, 1); clif->skill_poseffect(&sd->bl, skill_id, skill_lv, sd->bl.x, sd->bl.y, tick); return true; } [/cbox] Edited January 4, 2015 by komisaris Quote Share this post Link to post Share on other sites
0 Dastgir 1246 Posted January 5, 2015 can you show us what is in your atcommand.c line 5274 here is my atcommand.c line 5274 [cbox]ACMD(displayskill) { // <-------- Line 5274 struct status_data *st; int64 tick; uint16 skill_id; uint16 skill_lv = 1; if (!message || !*message || sscanf(message, "%hu %hu", &skill_id, &skill_lv) < 1) { clif->message(fd, msg_txt(1166)); // Usage: @displayskill {} return false; } st = status->get_status_data(&sd->bl); tick = timer->gettick(); clif->skill_damage(&sd->bl,&sd->bl, tick, st->amotion, st->dmotion, 1, 1, skill_id, skill_lv, 5); clif->skill_nodamage(&sd->bl, &sd->bl, skill_id, skill_lv, 1); clif->skill_poseffect(&sd->bl, skill_id, skill_lv, sd->bl.x, sd->bl.y, tick); return true; } [/cbox] According to gdb , 5274 must be inside mobinfo command with "sprintf" function, Maybe you updated your repo after crash?? If so, please recompile, get the gdb report, and the line menioned on gdb report. Quote Share this post Link to post Share on other sites
0 malufett 247 Posted January 5, 2015 can you show us what is in your atcommand.c line 5274 here is my atcommand.c line 5274 [cbox]ACMD(displayskill) { // <-------- Line 5274 struct status_data *st; int64 tick; uint16 skill_id; uint16 skill_lv = 1; if (!message || !*message || sscanf(message, "%hu %hu", &skill_id, &skill_lv) < 1) { clif->message(fd, msg_txt(1166)); // Usage: @displayskill {} return false; } st = status->get_status_data(&sd->bl); tick = timer->gettick(); clif->skill_damage(&sd->bl,&sd->bl, tick, st->amotion, st->dmotion, 1, 1, skill_id, skill_lv, 5); clif->skill_nodamage(&sd->bl, &sd->bl, skill_id, skill_lv, 1); clif->skill_poseffect(&sd->bl, skill_id, skill_lv, sd->bl.x, sd->bl.y, tick); return true; } [/cbox] please do what dastgir recommend and please recompile it with debug mode specify so that we can see more detailed information.. ./configure --enable_debug Quote Share this post Link to post Share on other sites
0 komisaris 0 Posted January 5, 2015 (edited) i've please recompile, get the gdb report, and the line menioned on gdb report. i've recompiled the server with --enable-debug=gdb , but how to get that report you mentioned like these? gdb map-server core [cbox]Reading symbols from /home/username/hercules/map-server...(no debugging symbols found)...done.[New LWP 27159][New LWP 27166][Thread debugging using libthread_db enabled]Using host libthread_db library "/lib64/libthread_db.so.1".Core was generated by `./map-server'.Program terminated with signal 11, Segmentation fault.#0 0x00007f3628df4b5b in vfprintf () from /lib64/libc.so.6Missing separate debuginfos, use: debuginfo-install glibc-2.17-55.el7_0.3.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.11.3-49.el7.x86_64 libcom_err-1.42.9-4.el7.x86_64 libgcc-4.8.2-16.2.el7_0.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.2-16.2.el7_0.x86_64 mariadb-libs-5.5.40-1.el7_0.x86_64 openssl-libs-1.0.1e-34.el7_0.6.x86_64 pcre-8.32-12.el7.x86_64 xz-libs-5.1.2-8alpha.el7.x86_64 zlib-1.2.7-13.el7.x86_64(gdb) bt full#0 0x00007f3628df4b5b in vfprintf () from /lib64/libc.so.6No symbol table info available.#1 0x00007f3628e1a9cb in vsprintf () from /lib64/libc.so.6No symbol table info available.#2 0x00007f3628dfde07 in sprintf () from /lib64/libc.so.6No symbol table info available.#3 0x0000000000667a5a in atcommand_mobinfo.5274 ()No symbol table info available.#4 0x0000000000637882 in atcommand_exec.part.70.6117 ()No symbol table info available.#5 0x00000000006574ba in atcommand_exec.4013 ()No symbol table info available.#6 0x000000000060f275 in clif_parse_WisMessage ()No symbol table info available.#7 0x00000000006001a8 in clif_parse ()No symbol table info available.#8 0x0000000000408a5d in do_sockets.3857 ()No symbol table info available.#9 0x0000000000405add in main ()No symbol table info available.(gdb)[/cbox] atcommand.c line 5274 [cbox]/*==========================================* @displayskill by [skotlex]* Debug command to locate new skill IDs. It sends the* three possible skill-effect packets to the area.*------------------------------------------*/ACMD(displayskill) { //<--------- LINE 5274struct status_data *st;int64 tick;uint16 skill_id;uint16 skill_lv = 1;if (!message || !*message || sscanf(message, "%hu %hu", &skill_id, &skill_lv) < 1) {clif->message(fd, msg_txt(1166)); // Usage: @displayskill {}return false;}st = status->get_status_data(&sd->bl);tick = timer->gettick();clif->skill_damage(&sd->bl,&sd->bl, tick, st->amotion, st->dmotion, 1, 1, skill_id, skill_lv, 5);clif->skill_nodamage(&sd->bl, &sd->bl, skill_id, skill_lv, 1);clif->skill_poseffect(&sd->bl, skill_id, skill_lv, sd->bl.x, sd->bl.y, tick);return true;}[/cbox] atcommand.c line 6117 [cbox]if (!message || !*message || sscanf(message, "%99[^n]", mes) < 1) {clif->message(fd, msg_txt(1224)); // Please enter a message (usage: @pettalk ).return false;} //<< ----------------LINE 6117[/cbox] atcommand.c Line 4013 [cbox]ACMD(partyspy) { //<----------------------LINE 4013char party_name[NAME_LENGTH];struct party_data *p;memset(party_name, '0', sizeof(party_name));memset(atcmd_output, '0', sizeof(atcmd_output));if (!map->enable_spy){clif->message(fd, msg_txt(1125)); // The mapserver has spy command support disabled.return false;}if (!message || !*message || sscanf(message, "%23[^n]", party_name) < 1) {clif->message(fd, msg_txt(1127)); // Please enter a party name/ID (usage: @partyspy ).return false;}if ((p = party->searchname(party_name)) != NULL || // name first to avoid error when name begin with a number(p = party->search(atoi(message))) != NULL) {if (sd->partyspy == p->party.party_id) {sd->partyspy = 0;sprintf(atcmd_output, msg_txt(105), p->party.name); // No longer spying on the %s party.clif->message(fd, atcmd_output);} else {sd->partyspy = p->party.party_id;sprintf(atcmd_output, msg_txt(106), p->party.name); // Spying on the %s party.clif->message(fd, atcmd_output);}} else {clif->message(fd, msg_txt(96)); // Incorrect name/ID, or no one from the specified party is online.return false;}return true;}[/cbox] and i dont know the rest of files location that addressed of that report Edited January 5, 2015 by komisaris Quote Share this post Link to post Share on other sites
does anyone know the sollution of this issue?
my map-server crash when executing @mi command.
Share this post
Link to post
Share on other sites