Issue information

Issue ID
#4997
Status
Unable to Fix
Severity
Fair
Started
Hercules Elf Bot
Jul 12, 2011 11:43
Last Post
Hercules Elf Bot
Apr 4, 2012 8:34
Confirmation
N/A

Hercules Elf Bot - Jul 12, 2011 11:43

Originally posted by [b]Hobbix[/b]
http://www.eathena.ws/board/index.php?autocom=bugtracker&showbug=4997

CODE
Exception:
0xc0000005 EXCEPTION_ACCESS_VIOLATION at location 0x0071C75F reading from location 0xCDCDCDCD

Registers:
eax=cdcdcdcd ebx=7ffd6000 ecx=7fffffff edx=7ffffffe esi=0012b348 edi=0012b33c
eip=0071c75f esp=0012a5cc ebp=0012a8e4 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206

Stacktrace:
#0  0x0071C75F in _output_l+0x9AF (stream=(struct _iobuf*)0x0012A90C <bytes:35AB1200CF07000004AB120042000000CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC>, format=(char*)0x007776B3 " line %d)\n", plocinfo=(struct localeinfo_struct*)0x00000000 <invalid memory>, argptr=(char*)0x0012B5B4 "\xCD\xCD") at f:\dd\vctools\crt_bld\self_x86\crt\src\output.c:1643
    pwch = (wchar*)0xCCCCCCCC <invalid memory>
    i = (int)2147483646
    p = (char*)0xCDCDCDCD <invalid memory>
    hexadd = (int)0
    state = (enum STATE)0x7
    wchar = (wchar)0 '\u0000'
    ch = (char)115 's'
    chclass = (enum CHARTYPE)0x8
    charsout = (int)49
    buffer = (union _output_l::__l2::<unnamed-type-buffer>)<bytes:000000002F000........>
    buffersize = (int)0
    _loc_update = (class _LocaleUpdate)<bytes:88287C00A82D3D00B01E3D0001CCCCCC>
    precision = (int)-1
    capexp = (int)0
    no_output = (int)0
    textlen = (int)0
    heapbuf = (char*)0x00000000 <invalid memory>
    prefixlen = (int)0
    fldwidth = (int)0
    prefix = (char[2]){204 '\xCC',204 '\xCC'}
    flags = (int)0
    bufferiswide = (int)0
    radix = (int)-858993460
    text = (union _output_l::__l2::<unnamed-type-text>)<bytes:CDCDCDCD>
#1  0x0071D8BA in _vsnprintf_l+0x13A (string=(char*)0x0012AB04 "Memory manager: freed-data is changed. (freed in ", count=(unsigned int)2048, format=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n", plocinfo=(struct localeinfo_struct*)0x00000000 <invalid memory>, ap=(char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD") at f:\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c:138
    str = (struct _iobuf)<bytes:35AB1200CF07000004AB120042000000CCCCCCCCCCCCCCCCCCCCCCCCC....>
    outfile = (struct _iobuf*)0x0012A90C <bytes:35AB1200CF07000004AB120042000000CCCCCCCCCCCCCCCCCCCCCCCCC....>
    retval = (int)-858993460
#2  0x0071D9AC in _vsnprintf+0x1C (string=(char*)0x0012AB04 "Memory manager: freed-data is changed. (freed in ", count=(unsigned int)2048, format=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n", ap=(char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD") at f:\dd\vctools\crt_bld\self_x86\crt\src\vsprintf.c:190
#3  0x0053BA3E in VFPRINTF+0x8E (handle=(void*)0x0000000B , fmt=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n", argptr=(char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD") at C:\eAthena\src\common\showmsg.c:209
209        BUFVPRINTF(tempbuf,fmt,argptr);
    tempbuf = (struct <unnamed-tag>)<bytes:4D656D6F7279206D616E616765723A2066726565642D64617461206973206368616E6765642E2028667265656420696E20000....>
    q = (char*)0xCCCCCCCC <invalid memory>
    written = (unsigned long)3435973836
    p = (char*)0xCCCCCCCC <invalid memory>
#4  0x0053D119 in _vShowMessage+0x259 (flag=(enum msg_type)0x7, string=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n", ap=(char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD") at C:\eAthena\src\common\showmsg.c:741
741            VFPRINTF(STDERR, string, apcopy);
    prefix = (char[100]){91 '[',49 '1',50 '2',47 '/',74 'J',117 'u',108 'l',32 ' ',49 '1',48 '0',58 ':',49 '1',52 '4',93 ']',27 '\x1B',91 '[',49 '1',59 ';',51 '3',49 '1',109 'm',91 '[',69 'E',114 'r',114 'r',111 'o',114 'r',93 ']',27 '\x1B',91 '[',48 '0',109 'm',58 ':',0 '\x00',204 }
    apcopy = (char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD"
#5  0x0053D783 in ShowError+0x33 (string=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n") at C:\eAthena\src\common\showmsg.c:852
852        ret = _vShowMessage(MSG_ERROR, string, ap);
    ap = (char*)0x0012B5B0 "\xCD\xCD\xCD\xCD\xCD\xCD"
    ret = (int)-858993460
#6  0x0053716B in _mmalloc+0x31B (size=(unsigned int)2640, file=(char*)0x00793AD4 "c:\\eathena\\src\\map\\mob.c", line=(int)216, func=(char*)0x0077641B "") at C:\eAthena\src\common\malloc.c:301
301                        ShowError("Memory manager: freed-data is changed. (freed in %s line %d)\n", head->file,head->line);
    sz = (unsigned int)2688
    i = (unsigned int)0
    block = (struct block*)0x0C35C9D0 <bytes:E869360CB8457C002088AE0C90008A000F000800CDCD0F00000000006C0579001F010900FFDFDF....>
    head = (struct unit_head*)0x0CC4A838 <bytes:CDCDCDCDCDCDCDCDCDCDCDC....>
    size_hash = (short)138
#7  0x005373F7 in _mcalloc+0x37 (num=(unsigned int)1, size=(unsigned int)2640, file=(char*)0x00793AD4 "c:\\eathena\\src\\map\\mob.c", line=(int)216, func=(char*)0x0077641B "") at C:\eAthena\src\common\malloc.c:324
324        void *p = _mmalloc(num * size,file,line,func);
    p = (void*)0xCCCCCCCC
#8  0x0061717D in mob_spawn_dataset+0x3D (data=(struct spawn_data*)0x08F99C04 <bytes:36040000000....>) at C:\eAthena\src\map\mob.c:216
216        struct mob_data *md = (struct mob_data*)aCalloc(1, sizeof(struct mob_data));
    md = (struct mob_data*)0xCCCCCCCC <invalid memory>
#9  0x00631928 in npc_parse_mob2+0x48 (mob=(struct spawn_data*)0x08F99C04 <bytes:3604000...>) at C:\eAthena\src\map\npc.c:2617
2617            struct mob_data* md = mob_spawn_dataset(mob);
    md = (struct mob_data*)0xCCCCCCCC <invalid memory>
    i = (int)0
#10  0x006062B3 in map_spawnmobs+0xD3 (m=(int)37) at C:\eAthena\src\map\map.c:2193
2193                npc_parse_mob2(map[m].moblist[i]);
    k = (int)131
    i = (int)14
#11  0x005BF268 in clif_parse_LoadEndAck+0x278 (fd=(int)20, sd=(struct map_session_data*)0x07DBA048 <bytes:000000000....>) at C:\eAthena\src\map\clif.c:8833
8833            map_spawnmobs(sd->bl.m);
    g = (struct guild*)0x0C1EFF1C <bytes:170200002000....>
#12  0x005D8FE7 in clif_parse+0x8D7 (fd=(int)20) at C:\eAthena\src\map\clif.c:14514
14514                packet_db[packet_ver][cmd].func(fd, sd);
    err = (int)-858993460
    packet_ver = (int)25
    sd = (struct map_session_data*)0x07DBA048 <bytes:00000....>
    cmd = (int)125
    packet_len = (int)2
    pnum = (int)0
#13  0x0053F793 in do_sockets+0x263 (next=(int)50) at C:\eAthena\src\common\socket.c:765
765            session[i]->func_parse(i);
    timeout = (struct timeval)<bytes:0000000050C30000>
    ret = (int)1
    rfd = (struct fd_set)<bytes:0100000000>
    i = (int)20
#14  0x0052E25D in main+0xFD (argc=(int)1, argv=(char**)0x003D2FF8) at C:\eAthena\src\common\core.c:254
254                do_sockets(next);
    next = (int)50
#15  0x00711BB7 in __tmainCRTStartup+0x117 () at f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:266
    mainret = (int)0
    managedapp = (int)0
    initret = (int)0
#16  0x00711A8F in mainCRTStartup+0xF () at f:\dd\vctools\crt_bld\self_x86\crt\src\crt0.c:182
#17  0x7C817067 in RegisterWaitForInputIdle+0x49 ()


Full version http://www.megaupload.com/?d=LBZ1XM39.

This post has been edited by Ai4rei: Jul 12 2011, 09:47 AM

Hercules Elf Bot - Dec 9, 2011 1:52

Originally posted by [b]Ind[/b]
output.c is a custom file -- doesn't belong to rAthena.

Hercules Elf Bot - Dec 9, 2011 2:40

Originally posted by [b]Epoque[/b]
[b]Update[/b]

After reviewing the GDB report, as far as I can tell there's some invalid memory being accessed somewhere.

[code]#5 0x0053D783 in ShowError+0x33 (string=(char*)0x00777680 "Memory manager: freed-data is changed. (freed in %s line %d)\n") at C:\eAthena\src\common\showmsg.c:852[/code]

This seems to report the va_list is reporting invalid or unaccessible memory somewhere, and I have [b]no explanation[/b] for why it might do this. As far as I can tell, this all might occur because you don't have enough memory to run eAthena. Try allocating more memory to the program, otherwise I'll try investigating this further.