ThyroDree 3 Posted July 15, 2018 Running on Linux Centos 7: Hosted from BuyVM Error: Server received crash signal! Attempting to save all online characters! Anyone knows how to fix this? this error shows up every 1~2 hours the server is running Quote Share this post Link to post Share on other sites
0 4144 364 Posted July 15, 2018 for fix issue need first know what is isue. You now showed stack or any info except crash. run server under gdb and show call stack after it crashed. Quote Share this post Link to post Share on other sites
0 ThyroDree 3 Posted July 15, 2018 31 minutes ago, 4144 said: for fix issue need first know what is isue. You now showed stack or any info except crash. run server under gdb and show call stack after it crashed. How can i run the server under gdb? Quote Share this post Link to post Share on other sites
0 Dastgir 1246 Posted July 15, 2018 47 minutes ago, ThyroDree said: How can i run the server under gdb? gdb map-server r when it crashes, type "bt full" and post the output here. Quote Share this post Link to post Share on other sites
0 ThyroDree 3 Posted July 16, 2018 21 hours ago, Dastgir said: gdb map-server r when it crashes, type "bt full" and post the output here. Hello, I found the error after using bt full this came out https://imgur.com/a/HCTDa6s Quote Share this post Link to post Share on other sites
0 Dastgir 1246 Posted July 16, 2018 Which revision are you using? I don't see that line anywhere nearby, modded? probably sd is null. Quote Share this post Link to post Share on other sites
0 ThyroDree 3 Posted July 16, 2018 9 minutes ago, Dastgir said: Which revision are you using? I don't see that line anywhere nearby, modded? probably sd is null. On the line 2131 on battle.c case SN_SHARPSHOOTING: case MA_SHARPSHOOTING: skillratio += 100 + 50 * skill_lv; if( sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER) skillratio *= 1.15; break; Quote Share this post Link to post Share on other sites
0 Rebel 23 Posted July 16, 2018 2 hours ago, ThyroDree said: On the line 2131 on battle.c case SN_SHARPSHOOTING: case MA_SHARPSHOOTING: skillratio += 100 + 50 * skill_lv; if( sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER) skillratio *= 1.15; break; case SN_SHARPSHOOTING: case MA_SHARPSHOOTING: if (sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER) skillratio *= 1.15; else skillratio += 100 + 50 * skill_lv; break; Quote Share this post Link to post Share on other sites
0 bWolfie 138 Posted July 16, 2018 You need to check 'sd' is not NULL first. so like if (sd != NULL && sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER) If you have edited other source code, you will need to check it for all sorts of stuff isn't using null pointer. E.g. sc != NULL, tsd != NULL, etc. Quote Share this post Link to post Share on other sites
0 Dastgir 1246 Posted July 17, 2018 Why not use sc(already defined and assigned in that function)? it would check with any other unit having status instead of just players. if (sc != NULL && sc->data[SC_SOULLINK] != NULL && sc->data[SC_SOULLINK]->val2 == SL_HUNTER) Quote Share this post Link to post Share on other sites
Running on Linux Centos 7:
Hosted from BuyVM
Error: Server received crash signal! Attempting to save all online characters!
Anyone knows how to fix this? this error shows up every 1~2 hours the server is running
Share this post
Link to post
Share on other sites