Skip to content

Native bindings seg faulting with node v0.7.12 #154

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

Closed
Developerarif2 opened this issue Aug 20, 2023 · 0 comments
Closed

Native bindings seg faulting with node v0.7.12 #154

Developerarif2 opened this issue Aug 20, 2023 · 0 comments

Comments

@Developerarif2
Copy link

I am seeing segmentation faults when trying to use the native pg bindings with node v0.7.12 (pg v0.7.1, postgres 9, Mac OS X 10.7.3).

I do not see the problem using the javascript bindings, and I do not see the problem on node v0.6.19 with native or javascript bindings.

Here is a simple script which produces a seg fault for me:

var pg = require('pg').native;

var client = new pg.Client('postgres://muir@localhost/node_test');
client.connect();

client.query('select 1', function(err, data) {
console.log("didn't segfault!");
process.exit();
});
Here is some debugging info from gdb (notice that "loop" is null for some reason):

Reading symbols for shared libraries ..... done
WARNING: ev_io is deprecated, use uv_poll_t

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x00000000000000a0
uv__io_stop (loop=0x0, handle=0x102800110) at ../deps/uv/src/unix/core.c:636
636 ev_io_stop(loop->ev, &handle->io_watcher);
(gdb) thread apply all bt

Thread 2 (process 73678):

#0 0x00007fff883106b6 in semaphore_wait_trap ()
#1 0x00000001002da71d in v8::internal::RuntimeProfiler::WaitForSomeIsolateToEnterJS () at /Users/muir/.nvm/src/node-v0.7.12/deps/v8/src/runtime-profiler.cc:443
#2 0x00000001002da71d in v8::internal::RuntimeProfilerRateLimiter::SuspendIfNecessary (this=0x1a03) at runtime-profiler.cc:490
#3 0x0000000100397dab in v8::internal::SamplerThread::Run (this=0x1a03) at platform-macos.cc:781
#4 0x00000001003970ad in ThreadEntry (arg=0x100b18310) at platform-macos.cc:518
#5 0x00007fff879828bf in _pthread_start ()
#6 0x00007fff87985b75 in thread_start ()
Current language: auto; currently c

Thread 1 (process 73678):
#0 uv__io_stop (loop=0x0, handle=0x102800110) at ../deps/uv/src/unix/core.c:636
#1 0x0000000100050110 in uv__handle_stop [inlined] () at /Users/muir/.nvm/src/node-v0.7.12/deps/uv/src/uv-common.h:74
#2 0x0000000100050110 in uv__poll_stop [inlined] () at /Users/muir/.nvm/src/node-v0.7.12/deps/uv/src/unix/poll.c:75
#3 0x0000000100050110 in uv_poll_stop (handle=0x1028000c0) at ../deps/uv/src/unix/poll.c:81
#4 0x0000000100aa9047 in Connection::HandleConnectionIO (this=0x102800090) at binding.cc:589
#5 0x0000000100aa954b in Connection::HandleIOEvent (this=0x102800090, revents=1606415184) at binding.cc:391
#6 0x00000001000485e3 in ev_invoke_pending (loop=0x10066f8c0) at ../deps/uv/src/unix/ev/ev.c:2145
#7 0x0000000100044739 in uv__run (loop=0x10066f260) at ../deps/uv/src/unix/core.c:248
#8 0x00000001000448dc in uv_run (loop=0x10066f260) at ../deps/uv/src/unix/core.c:265
#9 0x0000000100008025 in node::Start (argc=1606415456, argv=0x100aa9001) at node.cc:2885
#10 0x0000000100001384 in start ()

Could the problem just be that pg needs to be updated to use uv instead of ev?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants