yics crashes with an "*** glibc detected *** double
free or corruption: 0x08068a00 ***" error after
downloading the room state:
Starting program: /usr/local/yics-0.1.2/ytoics-c/yics
(no debugging symbols found)...(no debugging symbols
found)...
Welcome to YICS! If you need any help, please consult
the YICS documentation,
available at http://wiki.yics.org .
Lead programmer: crazycomputers
Windows port: websnarf
Version: 0.1.2
Website: http://www.yics.org
To log in, enter your Yahoo! ID, your password, and the
room ID of the room
you want to enter. For a list of room IDs, see
http://wiki.yics.org/Room_IDs .
Enter your username, or "/" to read an applet.html file.
login: folkertvanheusden
Enter your password.
password: ********
Enter the room ID to join.
room: chess_blitz_adv
Logging in...
(no debugging symbols found)...(no debugging symbols
found)...(no debugging symbols found)...Requesting
applet.html...
Going to read applet.html from the server...
WARNING: Server extracted from codebase.
(yog80.games.scd.yahoo.com)
Room: Advanced Blitz
All OK. Attempting to connect to server...
Connected.
Receiving handshake...
Creating encryption and decryption keys...
Entering game room...
Sending login information...
Logged in as folkertvanheusden
Downloading room state....
*** glibc detected *** free(): invalid pointer:
0x08078600 ***
Program received signal SIGABRT, Aborted.
0x4d46afd1 in kill () from /lib/libc.so.6
(gdb) backtrace
#0 0x4d46afd1 in kill () from /lib/libc.so.6
#1 0x4d46abf5 in raise () from /lib/libc.so.6
#2 0x4d46c4dd in abort () from /lib/libc.so.6
#3 0x4d4a5633 in malloc_printerr () from /lib/libc.so.6
#4 0x4d4a42c2 in _int_free () from /lib/libc.so.6
#5 0x4d4a2fbf in free () from /lib/libc.so.6
#6 0x0805283a in ?? ()
#7 0x08078600 in ?? ()
#8 0x08078600 in ?? ()
#9 0x0000001d in ?? ()
#10 0x00000064 in ?? ()
#11 0x00000064 in ?? ()
#12 0x0805e160 in ?? ()
#13 0xbfc78f78 in ?? ()
#14 0x08052a1f in ?? ()
#15 0x080686e0 in ?? ()
(gdb)
Logged In: YES
user_id=428971
Did you compile YICS yourself? If so, what version of gcc
did you use?
Logged In: YES
user_id=581712
Yes I did.
gcc 3.3.3
Logged In: NO
This seems to happen with various versions of gcc, and I'm
not sure why. Somehow a pointer that is not changed by YICS
gets offset by a certain amount, and when YICS goes to free
it, the program explodes.
What options are you compiling with? (Are you using the
included Makefile?)
Logged In: YES
user_id=581712
I always use:
-O2 -march=pentium4 -fprefetch-loop-arrays
Logged In: YES
user_id=428971
Try also using -finline-functions