-
Notifications
You must be signed in to change notification settings - Fork 30.8k
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
Running node from udev causes SEGV #16901
Comments
Can you get a stack trace? What script are you trying to run? |
It fails independently of the script. At the moment iI define no script so node runs in REPL mode. Even if I define a script if fails exactly the same. I tried an empty script and a non empty script. |
Turn on core dumps and inspect the core file in gdb afterwards ( |
After a long google search I have got the core dump working. I am new to debugging in Linux, thanks for this info. I have attached the core dump file for node v9.1.0. The following results are also from node v9.1.0. backtrace:
#0 0x0000000001051c80 in v8::internal::RegExpResultsCache::Clear(v8::internal::FixedArray*) ()
#1 0x0000000000e576da in v8::internal::Heap::MarkCompactPrologue() ()
#2 0x0000000000e57d9f in v8::internal::Heap::MarkCompact() ()
#3 0x0000000000e736a9 in v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) ()
#4 0x0000000000e74578 in v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [clone .constprop.934] ()
#5 0x0000000000e750fc in v8::internal::Heap::ReserveSpace(std::vector<v8::internal::Heap::Chunk, std::allocator<v8::internal::Heap::Chunk> >*, std::vector<unsigned char*, std::allocator<unsigned char*> >*) ()
#6 0x00000000010cd707 in v8::internal::Deserializer::ReserveSpace() ()
#7 0x00000000010dccce in v8::internal::StartupDeserializer::DeserializeInto(v8::internal::Isolate*) ()
#8 0x0000000000f1ab45 in v8::internal::Isolate::Init(v8::internal::StartupDeserializer*) ()
#9 0x00000000010dc391 in v8::internal::Snapshot::Initialize(v8::internal::Isolate*) ()
#10 0x0000000000af1ac8 in v8::IsolateNewImpl(v8::internal::Isolate*, v8::Isolate::CreateParams const&) ()
#11 0x00000000011f053d in node::Start(uv_loop_s*, int, char const* const*, int, char const* const*) ()
#12 0x00000000011e9d43 in node::Start(int, char**) ()
#13 0x00007f2fc1afd1c1 in __libc_start_main (main=0x8934b0 <main>, argc=1, argv=0x7ffcd4dc65c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcd4dc65b8) at ../csu/libc-start.c:308
#14 0x0000000000895671 in _start () thread apply all bt full:
disassemble:
info registers:
|
/cc @nodejs/v8 |
Looking at the backtrace, this seems to be what's happening:
Did you change the memory restrictions from default? That's the only way that comes to mind that could cause allocation failure at initialization. |
FWIW I run into exact the same stack trace when I run |
I haven't set memory restrictions intentionaly, but i don't now if udev does some type of restriction. |
@IIIMADDINIII I'm closing this out for now for lack of activity. If you have anything to report, let me know and I'll reopen. |
After I noticed that a sh script couldn't write a file I have installed Ubuntu 16.04 LTS. Now it is working. So it is no Bug in Node. Thanks for the quick help!! |
I tried to run node from a udev rule. When testing the rule with "udevadm test" node gets executed and doesn't fail. When testing the rule with "udevadm trigger" node terminates with the signal SEGV. This also happens if a device is attached.
I have tried with the following two lines in the udev rule file. Both result in the same SEGV error.
After a device is attached the syslog shows the following (node 9.1.0):
With node 8.9.1 the address 0000000001051c80 changes to 0000000001087f90.
The text was updated successfully, but these errors were encountered: