enigma-dev / enigma-dev

The Extensible Non-Interpreted Game Maker Augmentation.
http://enigma-dev.org
343 stars 117 forks source link

Error in `java': free(): invalid pointer; Aborted core dumped #1006

Closed faissaloo closed 7 years ago

faissaloo commented 8 years ago

Happens when the user tries to compile a simple single empty room. User has tried Oracle Java and OpenJDK and updating. Neither fix it.

:~$ ~/enigma-dev/start.sh
lt
Java Version: 10800 (1.8.0_101)
Loading lib files in /home/chronos/enigma-dev/lateralgm.jar
01_move.lgl 02_main1.lgl 03_main2.lgl 04_control.lgl 
 05_score.lgl 06_extra.lgl 07_draw.lgl 
Calling `make eTCpath=""`
> make -j 3 -C CompilerSource 
> make[1]: ingresso nella directory "/home/chronos/enigma-dev/CompilerSource"
> make[1]: Nessuna operazione da eseguire per "all".
> make[1]: uscita dalla directory "/home/chronos/enigma-dev/CompilerSource"
0
Process terminated
Initializing Enigma: 
Failed to create make directory at /home/chronos/.enigma/
Make directory is: "/home/chronos/.enigma/"
Linking up to IDE
Implementing JDI basics
UnimplementedUnimplemented

Choosing language: C++
Reading GCC builtins
Read key `defines` as `cpp -dM -x c++ -E $blank`
Parsed `cpp` `-dM -x c++ -E "/home/chronos/.enigma/enigma_blank.txt"`: redirect=yes
TRUE

*********** EXECUTE 
  `/usr/bin/cpp`
  `-dM`
  `-x`
  `c++`
  `-E`
  `/home/chronos/.enigma/enigma_blank.txt`

Call succeeded
Read key `searchdirs` as `gcc -E -x c++ -v $blank`
Parsed `gcc` `-E -x c++ -v "/home/chronos/.enigma/enigma_blank.txt"`: redirect=yes
TRUE

*********** EXECUTE 
  `/usr/bin/gcc`
  `-E`
  `-x`
  `c++`
  `-v`
  `/home/chronos/.enigma/enigma_blank.txt`

Call succeeded
Searching for directories between "#include <...> search starts here:" and "End of search list."
Toolchain returned 10 search directories:
Creating parse context
Parsing settings...
TOINT: 0
TOINT: 0
TOINT: 1
TOINT: 0
TOINT: 0
TOINT: 0
Setting up IDE editables... 
%e-yaml

---
keyword-blacklist: ""
inherit-equivalence-from: 0
scalar-precision: 0
inherit-negatives-as: 0
treat-literals-as: 0
angular-unit: 0
inherit-escapes-from: 0
compliance-mode: 0
make-directory: "%HOME%/.enigma/"
automatic-semicolons: true
inherit-objects: true
inherit-strings-from: 0
inherit-increment-from: 1

target-collision: Precise
target-windowing: xlib
target-widget: None
target-networking: None
target-graphics: OpenGL1
target-audio: OpenAL
target-compiler: gcc

extensions: Universal_System/Extensions/Paths,Universal_System/Extensions/DateTime,Universal_System/Extensions/MotionPlanning,Universal_System/Extensions/DataStructures,Universal_System/Extensions/Alarms,Universal_System/Extensions/BasicGUI,Universal_System/Extensions/ParticleSystems,Universal_System/Extensions/Timelines

Creating swap.
Dumping whiteSpace definitions...
Opening ENIGMA for parse...
ERROR(/usr/include/c++/5//bits/c++0x_warning.h,34,54): #error This file requires compiler and library support \
for the ISO C++ 2011 standard. This support must be enabled \
with the -std=c++11 or -std=gnu++11 compiler options.
Successfully loaded builtin variant type
Successfully loaded builtin var type
Successfully loaded builtin varargs type
ERROR in parsing engine file: The parser isn't happy. Don't worry, it's never happy.
ERROR: UnknownContinuing anyway.
Creating dummy primitives for old ENIGMA
Initializing EDL Parser...
Grabbing locals...
Finding parent...Found parent scope
 >> Checking ancestor object_collisions
 >> Checking ancestor object_transform
 >> Checking ancestor object_graphics
 >> Checking ancestor object_timelines
 >> Checking ancestor object_planar
 >> Checking ancestor object_basic
Determining build target...

Starting platform inspection
 - ENIGMAsystem/SHELL/Platforms/iPhone/Info/About.ey: Opened.
 - ENIGMAsystem/SHELL/Platforms/Cocoa/Info/About.ey: Opened.
 - ENIGMAsystem/SHELL/Platforms/General/Info/About.ey: Opened.
 - ENIGMAsystem/SHELL/Platforms/xlib/Info/About.ey: Opened.
 - ENIGMAsystem/SHELL/Platforms/Android/Info/About.ey: Opened.
 - ENIGMAsystem/SHELL/Platforms/Win32/Info/About.ey: Opened.
 Done.
time taken to load file: 204 ms
Parsing settings...
TOINT: 0
TOINT: 0
TOINT: 1
TOINT: 0
TOINT: 0
TOINT: 0
Setting up IDE editables... 
%e-yaml

---
keyword-blacklist: ""
inherit-equivalence-from: 0
scalar-precision: 0
inherit-negatives-as: 0
treat-literals-as: 0
angular-unit: 0
inherit-escapes-from: 0
compliance-mode: 0
make-directory: "%HOME%/.enigma/"
automatic-semicolons: true
inherit-objects: true
inherit-strings-from: 0
inherit-increment-from: 1

target-collision: Precise
target-windowing: xlib
target-widget: None
target-networking: None
target-graphics: OpenGL1
target-audio: OpenAL
target-compiler: gcc

extensions: Universal_System/Extensions/Paths,Universal_System/Extensions/DateTime,Universal_System/Extensions/MotionPlanning,Universal_System/Extensions/DataStructures,Universal_System/Extensions/Alarms,Universal_System/Extensions/BasicGUI,Universal_System/Extensions/ParticleSystems,Universal_System/Extensions/Timelines

Creating swap.
*** Error in `java': free(): invalid pointer: 0x82cc1fd0 ***
*** Error in `java': corrupted double-linked list: 0x82cc1f50 ***
======= Backtrace: =========
/lib/i386-linux-gnu/libc.so.6(+0x67257)[0xb75ad257]
/lib/i386-linux-gnu/libc.so.6(+0x6d577)[0xb75b3577]
/lib/i386-linux-gnu/libc.so.6(+0x6d854)[0xb75b3854]
/lib/i386-linux-gnu/libc.so.6(+0x6e435)[0xb75b4435]
/lib/i386-linux-gnu/libc.so.6/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x74dfb4)[0xb6e74fb4]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x1ae01d)[0xb68d501d]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x1ab21b)[0xb68d221b]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x679ebc)[0xb6da0ebc]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x34180d)[0xb6a6880d]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x33dff3)[0xb6a64ff3]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x33f25a)[0xb6a6625a]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x295004)[0xb69bc004]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x349a61)[0xb6a70a61]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x34a877)[0xb6a71877]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x87d608)[0xb6fa4608]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x887bc9)[0xb6faebc9]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x887d4b)[0xb6faed4b]
/usr/lib/jvm/java-8-oracle/jre/lib/i386/server/libjvm.so(+0x758969)[0xb6e7f969]
/lib/i386-linux-gnu/libpthread.so.0(+0x62b5)[0xb771c2b5]
(/lib/i386-linux-gnu/libc.so.6(clone+0x6e)[0xb762d16e]
======= Memory map: ========
+0x6725708048000-08049000 r-xp 00000000 08:01 12321068   /usr/lib/jvm/java-8-oracle/jre/bin/java
08049000-0804a000 rw-p 00000000 08:01 12321068   /usr/lib/jvm/java-8-oracle/jre/bin/java
08a3e000-08b9e000 rw-p 00000000 00:00 0          [heap]
80600000-80631000 rw-p 00000000 00:00 0 
80631000-80700000 ---p 00000000 00:00 0 
80800000-80900000 rw-p 00000000 00:00 0 
80a00000-80afe000 rw-p 00000000 00:00 0 
80afe000-80b00000 ---p 00000000 00:00 0 
80b00000-80bfb000 rw-p 00000000 00:00 0 
80bfb000-80c00000 ---p 00000000 00:00 0 
80c00000-80cff000 rw-p 00000000 00:00 0 
80cff000-80d00000 ---p 00000000 00:00 0 
80e00000-80efc000 rw-p 00000000 00:00 0 
80efc000-80f00000 ---p 00000000 00:00 0 
80f2e000-8100e000 rw-p 00000000 00:00 0 
8100e000-8102e000 ---p 00000000 00:00 0 
8102e000-8119b000 r-xp 00000000 08:01 8126645    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
8119b000-8119c000 ---p 0016d000 08:01 8126645    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
8119c000-811a1000 r--p 0016d000 08:01 8126645    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
811a1000-811a2000 rw-p 00172000 08:01 8126645    /usr/lib/i386-linux-gnu/libstdc++.so.6.0.21
811a2000-811a5000 rw-p 00000000 00:00 0 
811a5000-813f7000 r-xp 00000000 08:01 2102019    /home/chronos/enigma-dev/libcompileEGMf.so
813f7000-813f8000 ---p 00252000 08:01 2102019    /home/chronos/enigma-dev/libcompileEGMf.so
813f8000-813f9000 r--p 00252000 08:01 2102019    /home/chronos/enigma-dev/libcompileEGMf.so
813f9000-813ff000 rw-p 00253000 08:01 2102019    /home/chronos/enigma-dev/libcompileEGMf.so
813ff000-81400000 rw-p 00000000 00:00 0 
81400000-8145e000 rw-p 00000000 00:00 0 
8145e000-81500000 ---p 00000000 00:00 0 
81500000-81600000 rw-p 00000000 00:00 0 
81600000-816fe000 rw-p 00000000 00:00 0 
816fe000-81700000 ---p 00000000 00:00 0 
81700000-817ff000 rw-p 00000000 00:00 0 
817ff000-81800000 ---p 00000000 00:00 0 
81800000-818fe000 rw-p 00000000 00:00 0 
818fe000-81900000 ---p 00000000 00:00 0 
81900000-819fe000 rw-p 00000000 00:00 0 
819fe000-81a00000 ---p 00000000 00:00 0 
81a00000-81afe000 rw-p 00000000 00:00 0 
81afe000-81b00000 ---p 00000000 00:00 0 
81b00000-81bfe000 rw-p 00000000 00:00 0 
81bfe000-81c00000 ---p 00000000 00:00 0 
81c00000-81cff000 rw-p 00000000 00:00 0 
81cff000-81d00000 ---p 00000000 00:00 0 
81d00000-81df9000 rw-p 00000000 00:00 0 
81df9000-81e00000 ---p 00000000 00:00 0 
81e00000-81ef9000 rw-p 00000000 00:00 0 
81ef9000-81f00000 ---p 00000000 00:00 0 
81f00000-81ff9000 rw-p 00000000 00:00 0 
81ff9000-82000000 ---p 00000000 00:00 0 
82000000-821ff000 rw-p 00000000 00:00 0 
821ff000-82200000 ---p 00000000 00:00 0 
82200000-822ff000 rw-p 00000000 00:00 0 
822ff000-82300000 ---p 00000000 00:00 0 
82300000-82400000 rw-p 00000000 00:00 0 
82400000-824fe000 rw-p 00000000 00:00 0 
824fe000-82500000 ---p 00000000 00:00 0 
82500000-825fe000 rw-p 00000000 00:00 0 
825fe000-82600000 ---p 00000000 00:00 0 
82600000-826fa000 rw-p 00000000 00:00 0 
826fa000-82700000 ---p 00000000 00:00 0 
82700000-82800000 rw-p 00000000 00:00 0 
82800000-828fa000 rw-p 00000000 00:00 0 
828fa000-82900000 ---p 00000000 00:00 0 
82900000-82a00000 rw-p 00000000 00:00 0 
82a00000-82af1000 rw-p 00000000 00:00 0 
82af1000-82b00000 ---p 00000000 00:00 0 
82b00000-82bfc000 rw-p 00000000 00:00 0 
82bfc000-82c00000 ---p 00000000 00:00 0 
82c00000-82cfe000 rw-p 00000000 00:00 0 
82cfe000-82d00000 ---p 00000000 00:00 0 
82d00000-82df9000 rw-p 00000000 00:00 0 
82df9000-82e00000 ---p 00000000 00:00 0 
82e00000-82f00000 rw-p 00000000 00:00 0 
82f00000-82ffd000 rw-p 00000000 00:00 0 
82ffd000-83000000 ---p 00000000 00:00 0 
83000000-830fd000 rw-p 00000000 00:00 0 
830fd000-83100000 ---p 00000000 00:00 0 
83100000-831fa000 rw-p 00000000 00:00 0 
831fa000-83200000 ---p 00000000 00:00 0 
83200000-83300000 rw-p 00000000 00:00 0 
83300000-83400000 rw-p 00000000 00:00 0 
83400000-83500000 rw-p 00000000 00:00 0 
8357f000-83587000 r--s 00000000 08:01 10879637   /var/cache/fontconfig/945677eb7aeaf62f1d50efc3fb3ec7d8-le32d4.cache-6
83587000-8358b000 r--s 00000000 08:01 10879635   /var/cache/fontconfig/2cd17615ca594fa2959ae173292e504c-le32d4.cache-6
8358b000-8358c000 r--s 00000000 08:01 10879634   /var/cache/fontconfig/0d8c3b2ac0904cb8a57a757ad11a4a08-le32d4.cache-6
8358c000-8359b000 r--s 00000000 08:01 10879633   /var/cache/fontconfig/04aabc0a78ac019cf9454389977116d2-le32d4.cache-6
8359b000-8359e000 r--s 00000000 08:01 10879631   /var/cache/fontconfig/385c0604a188198f04d133e54aba7fe7-le32d4.cache-6
8359e000-835ba000 r--s 00000000 08:01 10879627   /var/cache/fontconfig/0bd3dc0958fa2205aaaa8ebb13e2872b-le32d4.cache-6
83600000-836ff000 rw-p 00000000 00:00 0 
836ff000-83700000 ---p 00000000 00:00 0 
83700000-83701000 r--s 00000000 08:01 10879632   /var/cache/fontconfig/1ac9eb803944fde146138c791f5cc56a-le32d4.cache-6
83701000-83703000 r--s 00000000 08:01 10879629   /var/cache/fontconfig/767a8244fc0220cfb567a839d0392e0b-le32d4.cache-6
83703000-83707000 r--s 00000000 08:01 10879626   /var/cache/fontconfig/8801497958630a81b71ace7c5f9b32a8-le32d4.cache-6
8370d000-83710000 ---p 00000000 00:00 0 
83710000-8375e000 rw-p 00000000 00:00 0 
/lib/i386-linux-gnu/libc.so.6(+0x6d577)[0x/home/chronos/enigma-dev/start.sh: riga 3:  4664 Annullato               (core dump creato) java -Djna.nosys=true -jar lateralgm.jar "$1"

Here's the full thread: http://enigma-dev.org/forums/index.php?topic=2710

fundies commented 8 years ago

Cannot reproduce this on Oracle JRE 1.8.0.92 [oracle-jre-bin-1.8]. It looks like the makefile may have screwed up and tried to link something twice. Try running "make clean" in your enigma directory and restarting lgm afterwards.

faissaloo commented 8 years ago

Issue persists.

time-killer-games commented 7 years ago

A little discouraged to see this bug has existed for 8 months and still nothing has been done about it.

JoshDreamland commented 7 years ago

More information is required. A core dump is the equivalent of "Oh no! Something is wrong!" We already know something is wrong; all software has bugs.

That said, are you also affected, and do you have more information? Or should I close this bug?

Based on your forum posts, it seems you are affected by a similar issue (or possibly the same issue Mikelle02 posted, though I doubt it). Please share a test case.

time-killer-games commented 7 years ago

It sounds like the same bug. I can send you a gm81 file if you really want me to... But all it will contain is a single room, can't you do that yourself?

Edit:

Here's the 1 room GM81 file that crashes:

https://www.dropbox.com/s/19k9zx801mfkjhl/game.gm81?dl=0

Again, all it contains is 1 room. All I did to make this was create a new room resource in the resource tree.

If you want to see a more complex project, this one is open source on itch.io:

https://samuel-venable.itch.io/key-to-success

Be sure to download the ENIGMA - specific version of the source code.

But whether running my "Key to Success" game or a blank 1-room project, it really shouldn't make any difference, as it is the same bug and same crash that occurs, from the look of it.

If you would like me to retrieve more info by running the a blank, 1-room, project in debug mode, I'd love to help, I'll just need to know the steps to take to get more info in debug mode. (Goombert told me a while back how to do that kind of thing, but I've forgotten since then...)

JoshDreamland commented 7 years ago

Okay. My understanding is that you have been able to build other games in ENIGMA just fine (ignoring some behavioral quirks). Are you telling me that specifically creating a game with just one room causes this bug? As far as I can tell, the bug in your traceback happens when freeing old JDI contexts. I suspect this is yet another problem we would avoid by not including STL headers everywhere. The point is, you should be seeing it every time, including when updating your Definitions file—not just on weird conditions like compiling an empty room. Is that not the case?

time-killer-games commented 7 years ago

No, I'm saying I can build on Windows just fine.

On Ubuntu is where the crash is happening. It doesn't matter what project I throw at it - it is guaranteed to crash. As I've said before, I'm using Ubuntu 16.04 LTS via wubi...

JoshDreamland commented 7 years ago

That's at least workable. I don't really have the wherewithal to deal with that, right now, but I can at least file a bug in case anyone else does, sooner.

time-killer-games commented 7 years ago

Thank you so much for the continued help and support! :)

RobertBColton commented 7 years ago

Closing as a duplicate of #1052 because we are dealing with the issue there. If anybody has any new problems related to this, please post there with feedback and details. If you discover any new and unrelated bugs, please post separate tickets for those. Thanks!