You are not logged in.
I am trying to get MongoDB running on my 32 system. It is a P4 with 1.5 Gigs memory, and a now a fresh install of Arch Linux. When I try to run MongoDB at all I get:
Program received signal SIGILL, Illegal instruction.I ran it using gbd and got the following:
(gdb) r
Starting program: /usr/bin/mongo
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Program received signal SIGILL, Illegal instruction.
0x0845e518 in tcmalloc::Sampler::Init(unsigned int) ()
(gdb)
(gdb) bt
#0 0x0845e518 in tcmalloc::Sampler::Init(unsigned int) ()
#1 0x00000000 in ?? ()
(gdb) QuitI should also note, that it does not start with systemctl either. There is no files in /var/lib/mongodb and /var/log/mongodb because it has not successfully run yet in this installation.
I had mongoDB running before my old install upgraded to 3.0.1-1, and it stopped running when I updated. For a few reasons, I decided to do a complete reinstall of my system (mainly because the previous install was my first and I made mistakes when I did installed it). I have search everywhere and I can't find any solutions. Any help would be appreciated. Thank you.
jmccay
Last edited by jmccay (2015-04-07 19:38:36)
Offline
What errors are you getting when you try to start the MongoDB service? Start it how you would any other service:
sudo systemctl start mongodb.serviceIf it fails to start, post the output you get as well as the output from
systemctl status mongodb.service"We may say most aptly, that the Analytical Engine weaves algebraical patterns just as the Jacquard-loom weaves flowers and leaves." - Ada Lovelace
Offline
I get the same result:
Apr 07 16:05:07 caledonia systemd[1]: mongodb.service: main process exited, code=dumped, status=4/ILL
Apr 07 16:05:07 caledonia systemd[1]: Unit mongodb.service entered failed state.
Apr 07 16:05:07 caledonia systemd[1]: mongodb.service failed.
Apr 07 16:05:07 caledonia systemd-coredump[611]: Process 603 (mongod) of user 996 dumped core.How do I view an lz4 coredump to find out more infomation. I tried gdb, but it said it was not a core dump.
jmccay
Offline
Sounds like 32-bit version was compiled with some incompatible instructions (e.g. SSE2). Either Arch compile flags are incorrect or upstream build system does not respect CFLAGS.
Please disassemble mongo binaries (read https://sourceware.org/gdb/onlinedocs/g … -Code.html for more info) and show us instructions around 0x0845e518 address.
Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster
Offline
This is what I get:
0x0845e500 <_ZN8tcmalloc7Sampler4InitEj+912>: pop %ecx
0x0845e501 <_ZN8tcmalloc7Sampler4InitEj+913>: xchg %eax,%edx
0x0845e502 <_ZN8tcmalloc7Sampler4InitEj+914>: in $0x91,%al
0x0845e504 <_ZN8tcmalloc7Sampler4InitEj+916>: loope 0x845e505 <_ZN8tcmalloc7Sampler4InitEj+917>
0x0845e506 <_ZN8tcmalloc7Sampler4InitEj+918>: mulsd %xmm1,%xmm2
0x0845e50a <_ZN8tcmalloc7Sampler4InitEj+922>: addsd %xmm0,%xmm2
0x0845e50e <_ZN8tcmalloc7Sampler4InitEj+926>: movsd %xmm2,0x10(%esp)
0x0845e514 <_ZN8tcmalloc7Sampler4InitEj+932>: fldl 0x10(%esp)
=> 0x0845e518 <_ZN8tcmalloc7Sampler4InitEj+936>: fisttpll 0x8(%esp)
0x0845e51c <_ZN8tcmalloc7Sampler4InitEj+940>: mov 0x8(%esp),%eax
0x0845e520 <_ZN8tcmalloc7Sampler4InitEj+944>: mov %eax,(%esi)
0x0845e522 <_ZN8tcmalloc7Sampler4InitEj+946>: add $0x2c,%esp
0x0845e525 <_ZN8tcmalloc7Sampler4InitEj+949>: pop %esi
0x0845e526 <_ZN8tcmalloc7Sampler4InitEj+950>: pop %edi
0x0845e527 <_ZN8tcmalloc7Sampler4InitEj+951>: pop %ebx
0x0845e528 <_ZN8tcmalloc7Sampler4InitEj+952>: pop %ebp
0x0845e529 <_ZN8tcmalloc7Sampler4InitEj+953>: ret
0x0845e52a: nopw 0x0(%eax,%eax,1)
0x0845e530 <_ZN8tcmalloc7Sampler21PickNextSamplingPointEv+0>: push %edi
0x0845e531 <_ZN8tcmalloc7Sampler21PickNextSamplingPointEv+1>: push %esi
0x0845e532 <_ZN8tcmalloc7Sampler21PickNextSamplingPointEv+2>: sub $0x24,%esp
0x0845e535 <_ZN8tcmalloc7Sampler21PickNextSamplingPointEv+5>: call 0x845e53a <_ZN8tcmalloc7Sampler21PickNextSamplingPointEv+10>I don't have the source code, but it appears to be near the end of the in tcmalloc::Sampler::Init(unsigned int) () function call.
jmccay
Offline
'fisttp' is a SSE3 instruction and should not be in 32bit binary. Your CPU does not support SSE3 and thus the application crashes.
Please file an Arch and/or upstream bug for further investigation.
Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster
Offline
I waited and there is a new version. When I uninstall and then reinstall mongodb I notice that for some reason it is not compiling mongodb. I looked at PKGBUILD file and it should be downloading the source and compiling it. I tried to clean up the cache after uninstalling with:
sudo pacman -Rns mongodb
sudo pacman -Sccto see it that works, but it doesn't. Is there a way to force it to compile? This might be the source of my problems. When I install, I tried 2 things:
packer --noedit -S mongodb
&
pacman -Syv mongodbNeither option compiles. Thank you.
jmccay.
Last edited by jmccay (2015-04-11 00:37:18)
Offline
pacman downloads and installs *binary* package. You probably had out-of-date mirror. By now all alive mirrors should have new mongo available. Try to update your system.
If you want to build the package from sources you need to learn more about ABS and makepkg https://wiki.archlinux.org/index.php/Arch_Build_System
Read it before posting http://www.catb.org/esr/faqs/smart-questions.html
Ruby gems repository done right https://bbs.archlinux.org/viewtopic.php?id=182729
Fast initramfs generator with security in mind https://wiki.archlinux.org/index.php/Booster
Offline
I wrote a detailed blog post about it (https://ubuntuincident.wordpress.com/20 … -manually/). The problem is that the binaries in the official repo are compiled using an instruction set that is not supported by old 32-bit CPUs. Solution: compile it from source and install manually.
Offline