Closed Stormwind99 closed 8 years ago
Primitive stdout debugging shows crash is happening during void* handle = hybris_dlopen((getCWD() + "libs/libminecraftpe.so").c_str(), RTLD_LAZY);
in src/main.cpp .
Futher info: crash occurs when hybrid_dlopen() calls android_dlopen() and it calls call_constructors_recursive(ret).
.. and call_array (ctor=0xb7a5b360, count=23, reverse=0) at /home/minecraft-pe/mcpelauncher-linux/hybris/src/jb/linker.c:1537
is trying to call the following constructor, which I'm guessing has been improperly decoded:
[ 0 Calling func @ 0xb72c4d05 ]
Download libs from: http://mrarm.io/download/mcpelauncher_libs_amd.zip and replace them. Then run mcpelauncher with --temp-amd-fix.
That did it, even though it is an Intel processor!
Just the new libs were enough - it starts without the command line parameter "--temp-amd-fix" too.
Thanks!
From /proc/cpuinfo:
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Core(TM)2 Duo CPU E6850 @ 3.00GHz
stepping : 11
microcode : 0xb6
Output (including some debug output I added locally):
[minecraft-pe@linus mcpelauncher-linux]$ ./mcpelauncher
loading MCPE
oslib: /usr/lib/libGLESv2.so: 155884272
oslib: /home/minecraft-pe/mcpelauncher-linux/libs/native/libfmod.so.7.7: 155886256
stubSymbols
hybris_hook
more loadLibrary
hybris_dlopen
libBase
loaded MCPE (at 3061923840)
apply patches
original: 85 87 86 83 232
post patch: 233 248 11 88 81
original: 85 87 86 83 232
post patch: 233 206 58 88 81
original: 85 137 229 87 86
post patch: 233 141 42 83 81
original: 87 86 83 232 248
post patch: 233 139 58 88 81
patches applied!
init app platform vtable
init app platform
app platform initialized
init window
So it works now or not?
Got past that - now dealing with #52
I got mcpelauncher-linux building and starting under Fedora 22 (32-bit x86), downloaded the x86 minecraftpe apk, extracted it, and ran.
However, I get a SIGILL crash when running.
Even with debug symbols, I get a corrupt stacktrace of "??"'s in gdb. And I did make sure I downloaded the x86 apk, and
file libminecraftpe.so
reportsELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped
.strace ends with following output:
Small diff I made for Fedora 22 (will submit pull request once everything is working):