New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

smallbin double linked list corrupted #74

Closed
shirishag75 opened this Issue Dec 11, 2012 · 20 comments

Comments

Projects
None yet
3 participants
@shirishag75

shirishag75 commented Dec 11, 2012

~/games/valyriatear$ ./src/valyriatear
*** glibc detected *** ./src/valyriatear: malloc(): smallbin double linked list corrupted: 0x000000000387d6e0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x76d76)[0x7f01c0b12d76]
/lib/x86_64-linux-gnu/libc.so.6(+0x7a658)[0x7f01c0b16658]
/lib/x86_64-linux-gnu/libc.so.6(__libc_malloc+0x70)[0x7f01c0b17b90]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0xcf62)[0x7f01be512f62]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0xb358)[0x7f01be511358]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(+0xc697)[0x7f01be512697]
/usr/lib/x86_64-linux-gnu/libxcb.so.1(xcb_wait_for_reply+0x7b)[0x7f01be5128bb]
/usr/lib/x86_64-linux-gnu/libX11.so.6(_XReply+0x10d)[0x7f01c252532d]
/usr/lib/x86_64-linux-gnu/libGL.so.1(+0x47983)[0x7f01c2c85983]
/usr/lib/x86_64-linux-gnu/libGL.so.1(+0x467aa)[0x7f01c2c847aa]
./src/valyriatear(main+0x25c)[0x91d19d]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xfd)[0x7f01c0abaead]
./src/valyriatear[0x918309]
======= Memory map: ========
00400000-00e53000 r-xp 00000000 08:0a 2773895 /home/shirish/games/valyriatear/src/valyriatear
01052000-01055000 rw-p 00a52000 08:0a 2773895 /home/shirish/games/valyriatear/src/valyriatear
01055000-01058000 rw-p 00000000 00:00 0
0225d000-0972f000 rw-p 00000000 00:00 0 [heap]
7f01a8000000-7f01a8086000 rw-p 00000000 00:00 0
7f01a8086000-7f01ac000000 ---p 00000000 00:00 0
7f01adaea000-7f01ae8ea000 rw-s 12e832000 00:05 4245 /dev/dri/card0
7f01ae8ea000-7f01ae8eb000 rw-p 00000000 00:00 0
7f01af3ec000-7f01af56c000 rw-s 13a2ba000 00:05 4245 /dev/dri/card0
7f01af56c000-7f01af6ec000 rw-s 13a13a000 00:05 4245 /dev/dri/card0
7f01af7eb000-7f01af96b000 rw-s 13c7b0000 00:05 4245 /dev/dri/card0
7f01afdce000-7f01b03ce000 rw-s 133860000 00:05 4245 /dev/dri/card0
7f01b03ce000-7f01b054e000 rw-s 12c532000 00:05 4245 /dev/dri/card0
7f01b054e000-7f01b06ce000 rw-s 12c3b2000 00:05 4245 /dev/dri/card0
7f01b06ce000-7f01b084e000 rw-s 12c232000 00:05 4245 /dev/dri/card0
7f01b084e000-7f01b09ce000 rw-s 14d282000 00:05 4245 /dev/dri/card0
7f01b09ce000-7f01b0b4e000 rw-s 14d102000 00:05 4245 /dev/dri/card0
7f01b0b4e000-7f01b0d0e000 rw-s 13625a000 00:05 4245 /dev/dri/card0
7f01b0d0e000-7f01b0e8e000 rw-s 14cef7000 00:05 4245 /dev/dri/card0
7f01b0e8e000-7f01b100e000 rw-s 14cd77000 00:05 4245 /dev/dri/card0
7f01b100e000-7f01b118e000 rw-s 14cbf7000 00:05 4245 /dev/dri/card0
7f01b118e000-7f01b130e000 rw-s 12ad52000 00:05 4245 /dev/dri/card0
7f01b130e000-7f01b148e000 rw-s 12abd2000 00:05 4245 /dev/dri/card0
7f01b148e000-7f01b160e000 rw-s 12aa52000 00:05 4245 /dev/dri/card0
7f01b160e000-7f01b178e000 rw-s 12a8d2000 00:05 4245 /dev/dri/card0
7f01b178e000-7f01b190e000 rw-s 12b352000 00:05 4245 /dev/dri/card0
7f01b190e000-7f01b1a8e000 rw-s 12b1d2000 00:05 4245 /dev/dri/card0
7f01b1a8e000-7f01b1c0e000 rw-s 12b052000 00:05 4245 /dev/dri/card0
7f01b1c66000-7f01b1de6000 rw-s 132ee3000 00:05 4245 /dev/dri/card0
7f01b1e66000-7f01b1fe6000 rw-s 135caf000 00:05 4245 /dev/dri/card0
7f01b1fe6000-7f01b2166000 rw-s 135b2f000 00:05 4245 /dev/dri/card0
7f01b2166000-7f01b22e6000 rw-s 12e6ab000 00:05 4245 /dev/dri/card0
7f01b22e7000-7f01b2467000 rw-s 12e468000 00:05 4245 /dev/dri/card0
7f01b2467000-7f01b25e7000 rw-s 12bfd2000 00:05 4245 /dev/dri/card0
7f01b2606000-7f01b26e6000 rw-s 1325ba000 00:05 4245 /dev/dri/card0
7f01b26e6000-7f01b26e7000 rw-s 00000000 00:04 9033757 /drm mm object (deleted)
7f01b2701000-7f01b2702000 rw-s 00000000 00:04 9033746 /drm mm object (deleted)
7f01b2702000-7f01b2703000 rw-s 00000000 00:04 9033753 /drm mm object (deleted)
7f01b2703000-7f01b2704000 rw-s 00000000 00:04 9034859 /drm mm object (deleted)
7f01b2704000-7f01b2705000 rw-s 00000000 00:04 9034858 /drm mm object (deleted)
7f01b2705000-7f01b2706000 rw-s 00000000 00:04 9034854 /drm mm object (deleted)
7f01b2706000-7f01b2707000 rw-s 00000000 00:04 9034853 /drm mm object (deleted)
7f01b2707000-7f01b2887000 rw-s 12dab2000 00:05 4245 /dev/dri/card0
7f01b2887000-7f01b2888000 rw-s 00000000 00:04 9033720 /drm mm object (deleted)
7f01b2888000-7f01b2889000 rw-s 00000000 00:04 9033756 /drm mm object (deleted)
7f01b2889000-7f01b288a000 rw-s 00000000 00:04 9033754 /drm mm object (deleted)
7f01b288a000-7f01b288b000 rw-s 00000000 00:04 9033703 /drm mm object (deleted)
7f01b288b000-7f01b288c000 rw-s 00000000 00:04 9033711 /drm mm object (deleted)
7f01b288c000-7f01b288d000 rw-s 00000000 00:04 9033750 /drm mm object (deleted)
7f01b288d000-7f01b288e000 rw-s 00000000 00:04 9033747 /drm mm object (deleted)
7f01b288e000-7f01b288f000 rw-s 00000000 00:04 9033745 /drm mm object (deleted)
7f01b288f000-7f01b2890000 rw-s 12e3f7000 00:05 4245 /dev/dri/card0
7f01b2890000-7f01b2891000 rw-s 12e3f6000 00:05 4245 /dev/dri/card0
7f01b2891000-7f01b2892000 rw-s 00000000 00:04 9033755 /drm mm object (deleted)
7f01b2892000-7f01b2893000 rw-s 00000000 00:04 9033719 /drm mm object (deleted)
7f01b2893000-7f01b2894000 rw-s 12e3f5000 00:05 4245 /dev/dri/card0
7f01b2894000-7f01b2895000 rw-s 12e3f4000 00:05 4245 /dev/dri/card0
7f01b2895000-7f01b2896000 rw-s 00000000 00:04 9033718 /drm mm object (deleted)
7f01b2896000-7f01b2897000 rw-s 12e3f3000 00:05 4245 /dev/dri/card0
7f01b2897000-7f01b2898000 rw-s 12e6aa000 00:05 4245 /dev/dri/card0
7f01b2898000-7f01b2899000 rw-s 12e6a9000 00:05 4245 /dev/dri/card0
7f01b2899000-7f01b289a000 rw-s 12e6a8000 00:05 4245 /dev/dri/card0
7f01b289a000-7f01b289b000 rw-s 00000000 00:04 9033752 /drm mm object (deleted)
7f01b289b000-7f01b289c000 rw-s 00000000 00:04 9033717 /drm mm object (deleted)
7f01b289c000-7f01b289d000 rw-s 00000000 00:04 9033716 /drm mm object (deleted)
7f01b289d000-7f01b289e000 rw-s 00000000 00:04 9033715 /drm mm object (deleted)
7f01b289e000-7f01b289f000 rw-s 00000000 00:04 9033714 /drm mm object (deleted)
7f01b289f000-7f01b28a0000 rw-s 00000000 00:04 9033713 /drm mm object (deleted)
7f01b28a0000-7f01b28a1000 rw-s 00000000 00:04 9033712 /drm mm object (deleted)
7f01b28a1000-7f01b28a2000 rw-s 00000000 00:04 9033702 /drm mm object (deleted)
7f01b28a2000-7f01b28a3000 rw-s 00000000 00:04 9033596 /drm mm object (deleted)
7f01b28a3000-7f01b28a4000 rw-s 00000000 00:04 9033710 /drm mm object (deleted)
7f01b28a4000-7f01b28a5000 rw-s 00000000 00:04 9033689 /drm mm object (deleted)
7f01b28a5000-7f01b28a6000 rw-s 00000000 00:04 9033698 /drm mm object (deleted)
7f01b28a6000-7f01b28a7000 rw-s 00000000 00:04 9033739 /drm mm object (deleted)
7f01b28a7000-7f01b28a8000 rw-s 00000000 00:04 9033738 /drm mm object (deleted)
7f01b28a8000-7f01b28a9000 rw-s 00000000 00:04 9033701 /drm mm object (deleted)
7f01b28a9000-7f01b28aa000 rw-s 00000000 00:04 9033700 /drm mm object (deleted)
7f01b28aa000-7f01b28ab000 rw-s 00000000 00:04 9033699 /drm mm object (deleted)
7f01b28ab000-7f01b28ac000 rw-s 00000000 00:04 9033695 /drm mm object (deleted)
7f01b28ac000-7f01b28ad000 rw-s 00000000 00:04 9033692 /drm mm object (deleted)
7f01b28ad000-7f01b28ae000 rw-s 00000000 00:04 9032693 /drm mm object (deleted)
7f01b28ae000-7f01b28af000 rw-s 00000000 00:04 9033633 /drm mm object (deleted)
7f01b28af000-7f01b28b0000 rw-s 00000000 00:04 9033697 /drm mm object (deleted)
7f01b28b0000-7f01b28b1000 rw-s 00000000 00:04 9033696 /drm mm object (deleted)
7f01b28b1000-7f01b28b2000 rw-s 00000000 00:04 9033694 /drm mm object (deleted)
7f01b28b2000-7f01b28b3000 rw-s 00000000 00:04 9033693 /drm mm object (deleted)
7f01b28b3000-7f01b28b4000 rw-s 00000000 00:04 9033691 /drm mm object (deleted)
7f01b28ea000-7f01b28eb000 rw-s 14e930000 00:05 4245 /dev/dri/card0
7f01b28eb000-7f01b28ec000 rw-s 14de51000 00:05 4245 /dev/dri/card0
7f01b28f3000-7f01b28f4000 rw-s 15000d000 00:05 4245 /dev/dri/card0
7f01b28f4000-7f01b28f5000 rw-s 00000000 00:04 9033686 /drm mm object (deleted)
7f01b28f7000-7f01b28f8000 rw-s 00000000 00:04 9068987 /drm mm object (deleted)
7f01b28f8000-7f01b28f9000 rw-s 00000000 00:04 9068981 /drm mm object (deleted)
7f01b28fa000-7f01b28fc000 rw-s 00000000 00:04 9080310 /drm mm object (deleted)
7f01b28fc000-7f01b28fe000 rw-s 00000000 00:04 9080309 /drm mm object (deleted)
7f01b28fe000-7f01b28ff000 rw-s 13385f000 00:05 4245 /dev/dri/card0
7f01b28ff000-7f01b2900000 rw-s 1399dd000 00:05 4245 /dev/dri/card0
7f01b2900000-7f01b2901000 rw-s 133feb000 00:05 4245 /dev/dri/card0
7f01b2901000-7f01b2902000 rw-s 151445000 00:05 4245 /dev/dri/card0
7f01b2902000-7f01b2903000 rw-s 151444000 00:05 4245 /dev/dri/card0
7f01b2903000-7f01b2904000 rw-s 151367000 00:05 4245 /dev/dri/card0
7f01b2904000-7f01b2905000 rw-s 13cb66000 00:05 4245 /dev/dri/card0
7f01b2905000-7f01b2906000 rw-s 00000000 00:04 9071566 /drm mm object (deleted)
7f01b2906000-7f01b2907000 rw-p 00000000 00:00 0
7f01b2907000-7f01b2908000 rw-s 13b24b000 00:05 4245 /dev/dri/card0
7f01b2908000-7f01b2909000 rw-p 00000000 00:00 0
7f01b2909000-7f01b290a000 rw-s 1302fe000 00:05 4245 /dev/dri/card0
7f01b290a000-7f01b290b000 rw-s 13d4ee000 00:05 4245 /dev/dri/card0
7f01b290c000-7f01b290d000 rw-s 00000000 00:04 9068985 /drm mm object (deleted)
7f01b290d000-7f01b290e000 rw-s 139de4000 00:05 4245 /dev/dri/card0
7f01b290e000-7f01b290f000 rw-s 00000000 00:04 9061126 /drm mm object (deleted)
7f01b290f000-7f01b2910000 rw-s 00000000 00:04 9045236 /drm mm object (deleted)
7f01b2910000-7f01b2911000 rw-s 00000000 00:04 9045235 /drm mm object (deleted)
7f01b2911000-7f01b2912000 rw-s 15000c000 00:05 4245 /dev/dri/card0
7f01b2912000-7f01b2913000 rw-s 00000000 00:04 9061282 /drm mm object (deleted)
7f01b2913000-7f01b2914000 rw-s 00000000 00:04 9045240 /drm mm object (deleted)
7f01b2914000-7f01b2915000 rw-s 00000000 00:04 9034472 /drm mm object (deleted)
7f01b2915000-7f01b2916000 rw-s 13922f000 00:05 4245 /dev/dri/card0
7f01b2916000-7f01b2917000 rw-s 135198000 00:05 4245 /dev/dri/card0
7f01b2917000-7f01b2918000 rw-s 00000000 00:04 9036351 /drm mm object (deleted)
7f01b2918000-7f01b2919000 rw-s 00000000 00:04 9045239 /drm mm object (deleted)
7f01b2919000-7f01b291a000 rw-s 1343df000 00:05 4245 /dev/dri/card0
7f01b291a000-7f01b291b000 rw-s 138496000 00:05 4245 /dev/dri/card0
7f01b291b000-7f01b291c000 rw-p 00000000 00:00 0
7f01b291c000-7f01b291d000 rw-s 1308f0000 00:05 4245 /dev/dri/card0
7f01b291d000-7f01b291f000 rw-p 00000000 00:00 0
7f01b291f000-7f01b2920000 rw-s 00000000 00:04 9052182 /drm mm object (deleted)
7f01b2920000-7f01b2921000 rw-s 00000000 00:04 9034873 /drm mm object (deleted)
7f01b2921000-7f01b2922000 rw-s 00000000 00:04 9033884 /drm mm object (deleted)
7f01b2922000-7f01b2923000 rw-s 00000000 00:04 9034877 /drm mm object (deleted)
7f01b2923000-7f01b2924000 rw-s 00000000 00:04 9034905 /drm mm object (deleted)
7f01b2924000-7f01b2925000 rw-s 00000000 00:04 9056973 /drm mm object (deleted)
7f01b2925000-7f01b2926000 rw-s 00000000 00:04 9034880 /drm mm object (deleted)
7f01b2926000-7f01b2927000 rw-s 00000000 00:04 9034878 /drm mm object (deleted)
7f01b2927000-7f01b2928000 rw-s 00000000 00:04 9034872 /drm mm object (deleted)
7f01b2928000-7f01b2929000 rw-s 00000000 00:04 9034876 /drm mm object (deleted)
7f01b2929000-7f01b292a000 rw-s 00000000 00:04 9034862 /drm mm object (deleted)
7f01b292a000-7f01b292b000 rw-s 00000000 00:04 9033891 /drm mm object (deleted)
7f01b292b000-7f01b292c000 rw-s 00000000 00:04 9034875 /drm mm object (deleted)
7f01b292c000-7f01b292d000 rw-s 00000000 00:04 9033889 /drm mm object (deleted)
7f01b292d000-7f01b292e000 rw-s 00000000 00:04 9033709 /drm mm object (deleted)
7f01b292e000-7f01b292f000 rw-s 00000000 00:04 9034863 /drm mm object (deleted)
7f01b292f000-7f01b2930000 rw-s 00000000 00:04 9033892 /drm mm object (deleted)
7f01b2930000-7f01b2931000 rw-s 00000000 00:04 9033893 /drm mm object (deleted)
7f01b2931000-7f01b2932000 rw-s 00000000 00:04 9033894 /drm mm object (deleted)
7f01b2932000-7f01b2933000 rw-s 00000000 00:04 9034866 /drm mm object (deleted)
7f01b2933000-7f01b2934000 rw-s 00000000 00:04 9033861 /drm mm object (deleted)
7f01b2934000-7f01b2935000 rw-s 00000000 00:04 9033748 /drm mm object (deleted)
7f01b2935000-7f01b2936000 rw-s 00000000 00:04 9033684 /drm mm object (deleted)
7f01b2936000-7f01b2937000 rw-s 00000000 00:04 9033683 /drm mm object (deleted)
7f01b2937000-7f01b2939000 rw-s 00000000 00:04 9033682 /drm mm object (deleted)
7f01b2939000-7f01b293a000 rw-s 00000000 00:04 9033681 /drm mm object (deleted)
7f01b293a000-7f01b293b000 rw-s 00000000 00:04 9033680 /drm mm object (deleted)
7f01b293b000-7f01b293c000 rw-s 00000000 00:04 9033679 /drm mm object (deleted)
7f01b293c000-7f01b293d000 rw-s 00000000 00:04 9033678 /drm mm object (deleted)
7f01b293d000-7f01b293e000 rw-s 00000000 00:04 9033677 /drm mm object (deleted)Aborted (core dumped)

This is with the newest git

commit a97711c
Author: Yohann Ferreira <yohann_ferreira_at_orange_fr_>
Date: Tue Dec 11 00:51:29 2012 +0100

Added early WIP of the next cave map.

I'll send the save file to Yohann for looking at it.

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 11, 2012

Member

ok, thanks!

Member

Bertram25 commented Dec 11, 2012

ok, thanks!

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 11, 2012

Member

Is this crash happening at start or at app exit?

Member

Bertram25 commented Dec 11, 2012

Is this crash happening at start or at app exit?

@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 11, 2012

The crash happened during a fight. No start or end thing. During a fight happening.

shirishag75 commented Dec 11, 2012

The crash happened during a fight. No start or end thing. During a fight happening.

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 11, 2012

Member

Ok, played something like half an hour fighting around with your save, but no crashes so far. Let's keep that one open until we've got other clues about its origin.
But until then, we'll have to let it out for the release.

Member

Bertram25 commented Dec 11, 2012

Ok, played something like half an hour fighting around with your save, but no crashes so far. Let's keep that one open until we've got other clues about its origin.
But until then, we'll have to let it out for the release.

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 13, 2012

Contributor

@shirishag75
do you know how to get the backtrace from a coredump?
having the gdb backtrace of that would probably help a lot.
just send me a message or something if you are unsure and I can walk you through it :)

Contributor

IkarusDowned commented Dec 13, 2012

@shirishag75
do you know how to get the backtrace from a coredump?
having the gdb backtrace of that would probably help a lot.
just send me a message or something if you are unsure and I can walk you through it :)

@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 13, 2012

@IkarusDowned no, no idea looking for help. I could couple of more coredumps after exiting. Will give them in another issue.

shirishag75 commented Dec 13, 2012

@IkarusDowned no, no idea looking for help. I could couple of more coredumps after exiting. Will give them in another issue.

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 13, 2012

Member

Except that one, for me, coredumps seen at app exit are part of issue #15.

The coredumps can come from luabind objects freed twice, or stuff like that.
Any lua specialist out there?

Member

Bertram25 commented Dec 13, 2012

Except that one, for me, coredumps seen at app exit are part of issue #15.

The coredumps can come from luabind objects freed twice, or stuff like that.
Any lua specialist out there?

@Bertram25 Bertram25 closed this Dec 13, 2012

@Bertram25 Bertram25 reopened this Dec 13, 2012

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 13, 2012

Member

Oops, closed the wrong one, sorry.

Member

Bertram25 commented Dec 13, 2012

Oops, closed the wrong one, sorry.

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 13, 2012

Contributor

@shirishag75
ok, it looks like you're running Linux, is it safe to assume that? As in, you're running a linux OS and not Cygwin or something

Contributor

IkarusDowned commented Dec 13, 2012

@shirishag75
ok, it looks like you're running Linux, is it safe to assume that? As in, you're running a linux OS and not Cygwin or something

@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 13, 2012

@IkarusDowned I'm running Debian testing (wheezy) :) .

shirishag75 commented Dec 13, 2012

@IkarusDowned I'm running Debian testing (wheezy) :) .

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 13, 2012

Contributor

@shirishag75

  1. ok, so before you start up Valyria, first set coredumping to be enabled.
    enter the following command:

ulimit -c unlimited
if you get an error saying you don't have permission, you may have it set
to disabled in your .bashrc or whatever shell you use for startup. Here's a
pretty handy guide in case you get stuck:
http://www.akadia.com/services/ora_enable_core.html

  1. Now, make sure Valyria is built with no optimizations on, and the -g
    option (otherwise you get very little usefull data).

  2. run Valyria and recreate the crash. note that the application has to
    CRASH to get a core dump -- a "bug" that allows you to still exit properly
    won't create one

  3. once it crashes, you should see in that directory a "core.XXXX" file or
    some variation at least starting with "core"

  4. you can use either gdb or dbx to view the core dump, but I will show you
    with gdb.
    startup gdb with the core dump using:

gdb

so if the Valyria executable is ValyriaTear and the core dump file is
core.1234:

gdb ValyriaTear core.1234

this wil load gdb up with the executable, its code trace and the backtrace

when gdb finishes loading, type:

bt

this will give you the backtrace for the program. if you can copy and paste
that information for us, it might give us better insight into the problem.
here's a handy link:

http://publib.boulder.ibm.com/httpserv/ihsdiag/get_backtrace.html#gdb

let me know if you get stuck or need more help!
On Thu, Dec 13, 2012 at 10:26 PM, shirish notifications@github.com wrote:

@IkarusDowned https://github.com/IkarusDowned I'm running Debian
testing (wheezy) :) .


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-11334255.

Contributor

IkarusDowned commented Dec 13, 2012

@shirishag75

  1. ok, so before you start up Valyria, first set coredumping to be enabled.
    enter the following command:

ulimit -c unlimited
if you get an error saying you don't have permission, you may have it set
to disabled in your .bashrc or whatever shell you use for startup. Here's a
pretty handy guide in case you get stuck:
http://www.akadia.com/services/ora_enable_core.html

  1. Now, make sure Valyria is built with no optimizations on, and the -g
    option (otherwise you get very little usefull data).

  2. run Valyria and recreate the crash. note that the application has to
    CRASH to get a core dump -- a "bug" that allows you to still exit properly
    won't create one

  3. once it crashes, you should see in that directory a "core.XXXX" file or
    some variation at least starting with "core"

  4. you can use either gdb or dbx to view the core dump, but I will show you
    with gdb.
    startup gdb with the core dump using:

gdb

so if the Valyria executable is ValyriaTear and the core dump file is
core.1234:

gdb ValyriaTear core.1234

this wil load gdb up with the executable, its code trace and the backtrace

when gdb finishes loading, type:

bt

this will give you the backtrace for the program. if you can copy and paste
that information for us, it might give us better insight into the problem.
here's a handy link:

http://publib.boulder.ibm.com/httpserv/ihsdiag/get_backtrace.html#gdb

let me know if you get stuck or need more help!
On Thu, Dec 13, 2012 at 10:26 PM, shirish notifications@github.com wrote:

@IkarusDowned https://github.com/IkarusDowned I'm running Debian
testing (wheezy) :) .


Reply to this email directly or view it on GitHubhttps://github.com//issues/74#issuecomment-11334255.

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 13, 2012

Member

@IkarusDowned Thanks for providing such assistance, I really couldn't get around doing this yet.

Member

Bertram25 commented Dec 13, 2012

@IkarusDowned Thanks for providing such assistance, I really couldn't get around doing this yet.

@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 13, 2012

@IkarusDowned

  1. Did the ulimit -c unlimited thing
  2. Didn't get your second point yet.

Now, make sure Valyria is built with no optimizations on, and the -g option (otherwise you get very little usefull data).

What I do is

~/games/valyriatear$ git pull origin master
~/games/valyriatear$ cmake .
~/games/valyriatear$ make clean
~/games/valyriatear$ make

and that's the end of that.

So should I be doing ?
~/games/valyriatear$ cmake -g . ? or something else please explain.

shirishag75 commented Dec 13, 2012

@IkarusDowned

  1. Did the ulimit -c unlimited thing
  2. Didn't get your second point yet.

Now, make sure Valyria is built with no optimizations on, and the -g option (otherwise you get very little usefull data).

What I do is

~/games/valyriatear$ git pull origin master
~/games/valyriatear$ cmake .
~/games/valyriatear$ make clean
~/games/valyriatear$ make

and that's the end of that.

So should I be doing ?
~/games/valyriatear$ cmake -g . ? or something else please explain.

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 13, 2012

Contributor

ok, try this.

  1. open CMakeLists.txt
  2. add the following just after the PROJECT(VALYRIATEAR) line:

set(CMAKE_CXX_FLAGS "-g")

  1. clean and build using your method
Contributor

IkarusDowned commented Dec 13, 2012

ok, try this.

  1. open CMakeLists.txt
  2. add the following just after the PROJECT(VALYRIATEAR) line:

set(CMAKE_CXX_FLAGS "-g")

  1. clean and build using your method
@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 13, 2012

Did that and it generated a core file which is of 63 MB .

~/games/valyriatear$ ls -lh core
-rw-r----- 1 shirish shirish 63M Dec 13 21:45 core

Did the ulimit thing again just in case I need to it or something and tried to load it :-

~/games/valyriatear$ gdb ./src/valyriatear core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
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://www.gnu.org/software/gdb/bugs/...
Reading symbols from /home/shirish/games/valyriatear/src/valyriatear...done.
[New LWP 11692]
[New LWP 11693]

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".
Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) quit

As can be seen I had to quit it. Any ideas ?

shirishag75 commented Dec 13, 2012

Did that and it generated a core file which is of 63 MB .

~/games/valyriatear$ ls -lh core
-rw-r----- 1 shirish shirish 63M Dec 13 21:45 core

Did the ulimit thing again just in case I need to it or something and tried to load it :-

~/games/valyriatear$ gdb ./src/valyriatear core
GNU gdb (GDB) 7.4.1-debian
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
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://www.gnu.org/software/gdb/bugs/...
Reading symbols from /home/shirish/games/valyriatear/src/valyriatear...done.
[New LWP 11692]
[New LWP 11693]

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".
Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) quit

As can be seen I had to quit it. Any ideas ?

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 13, 2012

Contributor

did you actually have to type quit? if so , it was actually working just
fine :)
what should happen is it sohuld give you some warnings / errors and then
the reason that it exit the original program.

Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.

these two lines are telling you where the core file was generated from, and
the second line is the reason /src/valyriatear was terminated. the "error"

../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.

is actually from valyriatear, not from gdb. this is OK, and it means your
program is doing what its supposed to. err...ok, poor wording. valyriatear
is NOT doing what it should (its crashing), but as a Linux program, it is
working as the Gods of Linux intended it to (ie, its crashing with the
right errors)

you reached the gdb command line, right? it looks like

(gdb)

and then nothing else happens? actually, everything happened correctly :)

just type "bt" like so:

(gdb) bt

and see what you get

Contributor

IkarusDowned commented Dec 13, 2012

did you actually have to type quit? if so , it was actually working just
fine :)
what should happen is it sohuld give you some warnings / errors and then
the reason that it exit the original program.

Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.

these two lines are telling you where the core file was generated from, and
the second line is the reason /src/valyriatear was terminated. the "error"

../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.

is actually from valyriatear, not from gdb. this is OK, and it means your
program is doing what its supposed to. err...ok, poor wording. valyriatear
is NOT doing what it should (its crashing), but as a Linux program, it is
working as the Gods of Linux intended it to (ie, its crashing with the
right errors)

you reached the gdb command line, right? it looks like

(gdb)

and then nothing else happens? actually, everything happened correctly :)

just type "bt" like so:

(gdb) bt

and see what you get

@shirishag75

This comment has been minimized.

Show comment
Hide comment
@shirishag75

shirishag75 Dec 14, 2012

I had to type quit. This is the out when I just write bt in it :-

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.

(gdb) bt
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007fd447adb6f0 in *__GI_abort () at abort.c:92
#2 0x00007fd447b1352b in __libc_message (do_abort=, fmt=)
at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#3 0x00007fd447b1cd76 in malloc_printerr (action=3, str=0x7fd447bf1b9c "free(): invalid pointer",
ptr=) at malloc.c:6283
#4 0x00007fd447b21aac in *__GI___libc_free (mem=) at malloc.c:3738
#5 0x00007fd43b282d0d in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#6 0x00007fd43b282d0d in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#7 0x00007fd43b1a6a87 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#8 0x00007fd43b1a6e17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#9 0x00007fd43b1a6ec9 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#10 0x00007fd43b1a6c17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#11 0x00007fd43b21be6a in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#12 0x00007fd43b21bf6e in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#13 0x00007fd43b215a25 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#14 0x00007fd43b142344 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#15 0x00007fd43b11d262 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#16 0x00007fd43b0fcf93 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
---Type to continue, or q to quit---
#17 0x00007fd449c8e06c in ?? () from /usr/lib/x86_64-linux-gnu/libGL.so.1
#18 0x00007fd449c675e1 in glXDestroyContext () from /usr/lib/x86_64-linux-gnu/libGL.so.1
#19 0x00007fd44a7929b2 in X11_GL_Shutdown (this=this@entry=0x1fbde00) at ../../src/video/x11/SDL_x11gl.c:324
#20 0x00007fd44a79693c in X11_DestroyWindow (this=0x1fbde00, screen=0x1fdf3a0)
at ../../src/video/x11/SDL_x11video.c:725
#21 0x00007fd44a796b25 in X11_VideoQuit (this=0x1fbde00) at ../../src/video/x11/SDL_x11video.c:1508
#22 0x00007fd44a788e4e in SDL_VideoQuit () at ../../src/video/SDL_video.c:1365
#23 0x00007fd44a762755 in SDL_QuitSubSystem (flags=flags@entry=65535) at ../../src/SDL.c:196
#24 0x00007fd44a7627fe in SDL_Quit () at ../../src/SDL.c:222
#25 0x00007fd447adcdf2 in __run_exit_handlers (status=0, listp=0x7fd447e2a4c8, run_list_atexit=true) at exit.c:78
#26 0x00007fd447adce45 in *__GI_exit (status=11692) at exit.c:100
#27 0x00007fd447ac4eb4 in __libc_start_main (main=, argc=, ubp_av=,
init=, fini=, rtld_fini=, stack_end=0x7fffef5c2c08)
at libc-start.c:260
#28 0x0000000000918309 in _start ()
(gdb)

And I get the gdb prompt back. I guess the above info. is the one which was wanted/needed ?

shirishag75 commented Dec 14, 2012

I had to type quit. This is the out when I just write bt in it :-

Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./src/valyriatear'.
Program terminated with signal 6, Aborted.
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.

(gdb) bt
#0 0x00007fd447ad8475 in *__GI_raise (sig=) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007fd447adb6f0 in *__GI_abort () at abort.c:92
#2 0x00007fd447b1352b in __libc_message (do_abort=, fmt=)
at ../sysdeps/unix/sysv/linux/libc_fatal.c:189
#3 0x00007fd447b1cd76 in malloc_printerr (action=3, str=0x7fd447bf1b9c "free(): invalid pointer",
ptr=) at malloc.c:6283
#4 0x00007fd447b21aac in *__GI___libc_free (mem=) at malloc.c:3738
#5 0x00007fd43b282d0d in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#6 0x00007fd43b282d0d in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#7 0x00007fd43b1a6a87 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#8 0x00007fd43b1a6e17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#9 0x00007fd43b1a6ec9 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#10 0x00007fd43b1a6c17 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#11 0x00007fd43b21be6a in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#12 0x00007fd43b21bf6e in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#13 0x00007fd43b215a25 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#14 0x00007fd43b142344 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#15 0x00007fd43b11d262 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
#16 0x00007fd43b0fcf93 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i915_dri.so
---Type to continue, or q to quit---
#17 0x00007fd449c8e06c in ?? () from /usr/lib/x86_64-linux-gnu/libGL.so.1
#18 0x00007fd449c675e1 in glXDestroyContext () from /usr/lib/x86_64-linux-gnu/libGL.so.1
#19 0x00007fd44a7929b2 in X11_GL_Shutdown (this=this@entry=0x1fbde00) at ../../src/video/x11/SDL_x11gl.c:324
#20 0x00007fd44a79693c in X11_DestroyWindow (this=0x1fbde00, screen=0x1fdf3a0)
at ../../src/video/x11/SDL_x11video.c:725
#21 0x00007fd44a796b25 in X11_VideoQuit (this=0x1fbde00) at ../../src/video/x11/SDL_x11video.c:1508
#22 0x00007fd44a788e4e in SDL_VideoQuit () at ../../src/video/SDL_video.c:1365
#23 0x00007fd44a762755 in SDL_QuitSubSystem (flags=flags@entry=65535) at ../../src/SDL.c:196
#24 0x00007fd44a7627fe in SDL_Quit () at ../../src/SDL.c:222
#25 0x00007fd447adcdf2 in __run_exit_handlers (status=0, listp=0x7fd447e2a4c8, run_list_atexit=true) at exit.c:78
#26 0x00007fd447adce45 in *__GI_exit (status=11692) at exit.c:100
#27 0x00007fd447ac4eb4 in __libc_start_main (main=, argc=, ubp_av=,
init=, fini=, rtld_fini=, stack_end=0x7fffef5c2c08)
at libc-start.c:260
#28 0x0000000000918309 in _start ()
(gdb)

And I get the gdb prompt back. I guess the above info. is the one which was wanted/needed ?

@IkarusDowned

This comment has been minimized.

Show comment
Hide comment
@IkarusDowned

IkarusDowned Dec 14, 2012

Contributor

yes! thats it. that right there is the last 20+ function calls before the crash.

.. unfortunately, I don't see any valyriatear code in here...it looks like something going on between SDL and OGL....

the next thing you can try, if you're sure that you can reproduce ths bug, is to run the application right through gdb. This is straight forward. from your shell:

~/games/valyriatear$ gdb ./src/valyriatear

when gdb loads and you are at the gdb prompt, type "run"

(gdb) run

this will start the game in debuging mode. keep in mind you may get some performance slowdown from this. if it becomes unplayable, well...we may be have to just keep hunting using core dumps.
anyway, when you crash again, you will exit to the gdb prompt. just type "backtrace":

(gdb) backtrace

and copy / paste this and the error message you get here

Contributor

IkarusDowned commented Dec 14, 2012

yes! thats it. that right there is the last 20+ function calls before the crash.

.. unfortunately, I don't see any valyriatear code in here...it looks like something going on between SDL and OGL....

the next thing you can try, if you're sure that you can reproduce ths bug, is to run the application right through gdb. This is straight forward. from your shell:

~/games/valyriatear$ gdb ./src/valyriatear

when gdb loads and you are at the gdb prompt, type "run"

(gdb) run

this will start the game in debuging mode. keep in mind you may get some performance slowdown from this. if it becomes unplayable, well...we may be have to just keep hunting using core dumps.
anyway, when you crash again, you will exit to the gdb prompt. just type "backtrace":

(gdb) backtrace

and copy / paste this and the error message you get here

@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Dec 14, 2012

Member

Another note is, err, well, was this the exact same crash case than the one given when opening this issue?

Sounds more like a crash at app exit here to me but I could completely be wrong.

Member

Bertram25 commented Dec 14, 2012

Another note is, err, well, was this the exact same crash case than the one given when opening this issue?

Sounds more like a crash at app exit here to me but I could completely be wrong.

Bertram25 pushed a commit that referenced this issue Mar 7, 2013

Yohann Ferreira
Removed an unexisting GlobalEvents reference in certain maps.
The GlobalEvents reference was unexisting and thus possibly equal
to other refs, and possibly triggering random crashes.

I removed everything and didn't permit anymore to set GlobalEvents
references as it was some useless API.

This will hopefully help with issues #15 and #74.
@Bertram25

This comment has been minimized.

Show comment
Hide comment
@Bertram25

Bertram25 Mar 14, 2013

Member

Replaced by #134

Member

Bertram25 commented Mar 14, 2013

Replaced by #134

@Bertram25 Bertram25 closed this Mar 14, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment