Closed snorez closed 8 years ago
Sorry for the late reply, but yea I will need to run on Linux as I only test on FreeBSD and Mac OSX as of now.
I will get a fix for not finding the libraries, too many files open, and the SIGSEGV on Linux either tonight or tomorrow.
Running ./nextgen --syscall --out path
will not work on Linux because it's not implemented for Linux yet. Try passing ./nextgen --syscall --dumb --out path
note the option --dumb
that will run nextgen in dumb mode. This will also bypass the crash you are experiencing as that code is not run when using dumb mode.
I will post back here when the fixes have been pushed.
I fixed the libraries not found bug and the crash bug. I however am not getting the too many open files bug on Debian. I'm in the process of creating an Ubuntu virtual machine and I will see if I can recreate it.
what is the output of ulimit -n
, on my machine(ubuntu 14.04 and 16.04), it is 1024.
On Debian 8.4.0 ulimit -u
is 15743 by default which explains why it works on Debian and not Ubuntu. I could change how much files nextgen tries to create on startup on Linux by changing the Macro POOL_SIZE
in src/runtime/platform.h
but that would increase lock contention and reduce performance so I think the best bet is to inform users via the README that they have to raise the ulimit on Ubuntu and potentially other Linux platforms.
OK, test on Linux Ubuntu 16.04.
no compile issues,
ulimit -n 4096
,info stack
: strrchr generate_name create_dirpath_pool create_resource_pools setup_resource_module setup_syscall_mode_runtime setup_runtime main