|
Author |
Topic: Built release source 0.8.20B - Sigfault |
Title: Neophyte
Posts: 2
Joined: 07 Oct 2007
|
Date Posted: Mon Oct 14, 2013 9:13 pm
Subject: Built release source 0.8.20B - Sigfault
|
First off, system stats
Ubuntu 13.04
gcc (Ubuntu/Linaro 4.7.3-1ubuntu1) 4.7.3
GNU Make 3.81
I got it to compile, added in missing SQL calls to the database, it ran, was able to make a character that got instantly advanced to top level. Was in game for 5 minutes then suddenly it sigfaults. Trying to log into that character again afterwards sigfaults. Example
Login: Kator
(disconnected and output in shell shows sigfault)
GDB output follows for sigfault after login name entry,
Code: | GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http>...
Reading symbols from /home/raxithe/MUD/am2/AwakeMUD-0.8.20B/bin/awake...done.
[New LWP 19034]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff577b7000
Core was generated by `bin/awake 8948'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000005424d2 in PCIndex::LoadChar (this=0x8ab3c0 <playerDB>, name=0x7fff5779b6a0 "raxithe", logon=true) at newdb.cpp:2134
2134 GET_IDNUM(ch) = ptr->id; |
Code line referenced
Code: | char_data *PCIndex::LoadChar(const char *name, bool logon)
{
rnum_t idx = get_idx_by_name(name);
entry *ptr = tab+idx;
// load the character data
char_data *ch = Mem->GetCh();
ch->player_specials = new player_special_data;
memset(ch->player_specials, 0, sizeof(player_special_data));
GET_IDNUM(ch) = ptr->id; //THIS IS THE CODE LINE
load_char(name, ch, logon);
ptr->instance_cnt++;
if (logon) {
ptr->active_data = NULL;
time(&ptr->last);
}
return ch;
}
|
logging in with a new character after a counter update
Code: | GNU gdb (GDB) 7.5.91.20130417-cvs-ubuntu
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http>...
Reading symbols from /home/raxithe/MUD/am2/AwakeMUD-0.8.20B/bin/awake...done.
[New LWP 19151]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: no loadable sections found in added symbol-file system-supplied DSO at 0x7fff0c9d3000
Core was generated by `bin/awake 8948'.
Program terminated with signal 11, Segmentation fault.
#0 0x00000000004d493e in objList::UpdateCounters (this=0x8aac60 <ObjList>) at dblist.cpp:140
140 trid = str_dup(row[0]);
|
Code Referenced in this dump
Code: | void objList::UpdateCounters(void)
{
SPECIAL(trideo);
MYSQL_RES *res;
MYSQL_ROW row;
char *trid = NULL;
static nodeStruct<struct> *temp, *next;
mysql_wrapper(mysql, "SELECT message FROM trideo_broadcast ORDER BY RAND() LIMIT 1");
res = mysql_use_result(mysql);
row = mysql_fetch_row(res);
trid = str_dup(row[0]); //OFFENDING LINE
mysql_free_result(res);
for (temp = head; temp; temp = next) {
next = temp->next;
if (GET_OBJ_TYPE(OBJ) == ITEM_PROGRAM && GET_OBJ_VAL(temp->data, 0) == SOFT_EVALUATE) {
if (!GET_OBJ_VAL(OBJ, 5)) {
GET_OBJ_VAL(OBJ, 5) = time(0);
GET_OBJ_VAL(OBJ, 6) = GET_OBJ_VAL(OBJ, 5);
} else if (GET_OBJ_VAL(OBJ, 5) <time>carried_by && IS_NPC(OBJ->carried_by))) {
GET_OBJ_VAL(OBJ, 1) -= number(0, 3);
GET_OBJ_VAL(OBJ, 5) = time(0);
if (GET_OBJ_VAL(OBJ, 1) < 0)
GET_OBJ_VAL(OBJ, 1) = 0;
}
continue;
|
Any idea why this is happening?
|
Post Reply | Quote | Private Message
|
Title: Site Admin
Posts: 557
Joined: 03 Apr 2005
|
Date Posted: Wed Oct 16, 2013 8:43 am
Subject:
|
The second one can be easily fixed by putting an entry into the trideo_broadcast table. Does the first one still crash after logging back in?
|
Post Reply | Quote | Private Message
|
Title: Neophyte
Posts: 2
Joined: 07 Oct 2007
|
Date Posted: Thu Oct 17, 2013 1:22 am
Subject:
|
Che wrote: | The second one can be easily fixed by putting an entry into the trideo_broadcast table. Does the first one still crash after logging back in? |
Next issue, added a null entry into the trideo table 0,0,0
still getting the following when I log in with a existing character. (still crashes too after a bit when I log in)
Code: | Program terminated with signal 11, Segmentation fault.
#0 0x08077215 in PCIndex::LoadChar (this=0x8237b10, name=0xbfa95244 "raxithe", logon=true) at newdb.cpp:2129
2129 GET_IDNUM(ch) = ptr->id;
(gdb) bt
#0 0x08077215 in PCIndex::LoadChar (this=0x8237b10, name=0xbfa95244 "raxithe", logon=true) at newdb.cpp:2129
#1 0x081324d1 in nanny (d=0x8464848, arg=0xbfa95b00 "raxithe") at interpreter.cpp:2070
#2 0x080a693b in game_loop (mother_desc=3) at comm.cpp:652
#3 0x080a5f6e in init_game (port=8948) at comm.cpp:351
#4 0x080a5a9a in main (argc=2, argv=0xbfa96604) at comm.cpp:235
(gdb) frame 0
#0 0x08077215 in PCIndex::LoadChar (this=0x8237b10, name=0xbfa95244 "raxithe", logon=true) at newdb.cpp:2129
2129 GET_IDNUM(ch) = ptr->id;
(gdb) frame 1
#1 0x081324d1 in nanny (d=0x8464848, arg=0xbfa95b00 "raxithe") at interpreter.cpp:2070
2070 d->character = playerDB.LoadChar(tmp_name, TRUE);
(gdb) frame 2
#2 0x080a693b in game_loop (mother_desc=3) at comm.cpp:652
652 nanny(d, comm);
(gdb) frame 3
#3 0x080a5f6e in init_game (port=8948) at comm.cpp:351
351 game_loop(mother_desc);
(gdb) frame 4
#4 0x080a5a9a in main (argc=2, argv=0xbfa96604) at comm.cpp:235
235 init_game(port); |
With new character (named renegade)
Code: | Oct 16 19:49:00 :: INSERT INTO pfiles_inv (idnum, Vnum, Cost, Restring, Photo, Value0, Value1, Value2, Value3, Value4, Value5, Value6,Value7, Value8, Value9, Value10, Value11, Inside, Timer, ExtraFlags, Attempt, Cond, posi) VALUES (2, 2041, 1, '', '', 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, '0', 0, 1, 0);
Oct 16 19:49:00 :: SELECT message FROM trideo_broadcast ORDER BY RAND() LIMIT 1
Segmentation fault (core dumped)
|
Code: | Core was generated by `bin/awake 8948'.
Program terminated with signal 11, Segmentation fault.
#0 0xb760379d in mysql_fetch_row () from /usr/lib/libmysqlclient.so.16
(gdb) bt
#0 0xb760379d in mysql_fetch_row () from /usr/lib/libmysqlclient.so.16
#1 0x08154884 in objList::UpdateCounters (this=0x828098c) at dblist.cpp:139
#2 0x08166b13 in point_update () at limits.cpp:881
#3 0x080a6dfe in game_loop (mother_desc=3) at comm.cpp:747
#4 0x080a5f6e in init_game (port=8948) at comm.cpp:351
#5 0x080a5a9a in main (argc=2, argv=0xbfb8a4a4) at comm.cpp:235
(gdb) frame 0
#0 0xb760379d in mysql_fetch_row () from /usr/lib/libmysqlclient.so.16
(gdb) frame 1
#1 0x08154884 in objList::UpdateCounters (this=0x828098c) at dblist.cpp:139
139 row = mysql_fetch_row(res);
(gdb) frame 2
#2 0x08166b13 in point_update () at limits.cpp:881
881 ObjList.UpdateCounters();
(gdb) frame 3
#3 0x080a6dfe in game_loop (mother_desc=3) at comm.cpp:747
747 point_update();
(gdb) frame 4
#4 0x080a5f6e in init_game (port=8948) at comm.cpp:351
351 game_loop(mother_desc);
(gdb) frame 5
#5 0x080a5a9a in main (argc=2, argv=0xbfb8a4a4) at comm.cpp:235
235 init_game(port);
|
|
Post Reply | Quote | Private Message
|
|
|
Awakened Worlds Forum Index » AwakeMUD Core Development |
|
All times are GMT
|
Page 1 of 1 |
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You can attach files in this forum You can download files in this forum
|
|
The time now is Thu Apr 19, 2018 9:43 am
|
powered by hailBoards v.1.2.0 ©2006 SPIRE / [based on phpBB©]
|
| |