p
...@servalproject.org> wrote:
> Hello,
> I did wonder if you were at JCT ...
> I have committed the openwrt makefile into the serval-dna repo, with the
> directory structure preserved under openwrt/
> Let me know if the committed version still builds, or if I have messed
> something up. Once that is settled, Jeremy's suggestions for tracking down
> the segfault are a good path of attack.
> servald doesn't need to run as root, and therefore once you finish
> testing, it should be setup to not run as root.
> Paul.
> On Sun, Oct 28, 2012 at 9:11 PM, Jonathan Lahav <j.la...@gmail.com> wrote:
>> @Paul
>> > replace the PKG_SOURCE_VERSION line...
>> Yes. It was built successfully.
>> > If the network interface configuration is different from last time, it
>> could behave differently
>> After a long time playing with it I found out that if the interfaces line
>> is not properly configured, servald complains but runs fine (it may not do
>> anything but it doesn't crash). If the line contains "interfaces=+" or
>> "interfaces=+wlan0" servald instantly crashes with the error output I
>> previously posted.
>> > If you have gdb on the router, run...
>> It doesn't show any more information than what it showed without gdb.
>> Probably that's because missing debugging symbols as you said.
>> > You may need to tweak the servald build process to remove the -O2 and
>> replace it with -g...
>> I struggled with the debug build since you sent this mail and I had yet
>> to succeed. I was told to "make" the package like this:
>> make package/serval-dna/{clean,compile} V=99 TARGET_OPTIMIZATION="-ggdb3 -O0" STRIP="/bin/true"
>> The build process does change, but it fails to compile with these errors:
>> cp: cannot stat '/home/jonathan/OpenWrt/build/trunk/staging_dir/toolchain-mips_gcc-4.6-lina ro_uClibc-0.9.33.2/lib/libuClibc-*.so': No such file or directory
>> cp: cannot stat '/home/jonathan/OpenWrt/build/trunk/staging_dir/toolchain-mips_gcc-4.6-lina ro_uClibc-0.9.33.2/lib/libcrypt-*.so': No such file or directory
>> cp: cannot stat '/home/jonathan/OpenWrt/build/trunk/staging_dir/toolchain-mips_gcc-4.6-lina ro_uClibc-0.9.33.2/lib/libm-*.so': No such file or directory
>> cp: cannot stat '/home/jonathan/OpenWrt/build/trunk/staging_dir/toolchain-mips_gcc-4.6-lina ro_uClibc-0.9.33.2/lib/libpthread-*.so': No such file or directory
>> I tried to see whether it's trying to use a wrong toolchain, or maybe it
>> tries to compile something dynamically where ususally it compiles it
>> statically, or maybe some components are missing from the build root of
>> OpenWrt, but I couldn't find the problem myself since I don't know enough
>> about their build environment. I asked on their forum but no answer yet.
>> I think that the last version of our makefile is quite good. The package
>> is being build successfully and the daemon runs, sort of. I think we shuold
>> keep this version until we find out how to overcome the segfault.
>> BTW, I didn't tell you before but I'm part of the mobile networks
>> security group of JCT (Dr. Ariel Stulman's group).
>> @Jeremy
>> > Odd, but if it's the "start foreground" process itself that is crashing
>> you wouldn't have
>> > hit that code before.
>> It was probably different interfaces array in the config file. Foregroung
>> or background does not matter.
>> @Kim
>> The process runs as root.
>> >Does mkstemp() have permission to write to disk in the expected
>> > location? Is there enough space?
>> > Is mkstemp() expecting an argument with a null terminated string?
>> These are interesting points, especially the "enough space" part, because
>> this is a router and the space is small.
>> I don't know how to answer these questions. Maybe the others here would
>> know what to check?
>> So, for now I don't have a debug build. If there is anything else I can
>> check without the debug build I would gladly do it. Otherwise I'm a bit
>> stuck for the moment. If anyone want instructions of how to set up a
>> similar build root it is not that hard. Maybe this is the time to call the
>> mysterious other guy who was supposed to work on the port? Maybe he knows
>> the OpenWrt build system better?
>> On Thu, Oct 25, 2012 at 12:44 AM, Kim Hawtin <kimhaw...@gmail.com> wrote:
>>> On Thu, Oct 25, 2012 at 12:03 AM, Jonathan Lahav <j.la...@gmail.com>
>>> wrote:
>>> >> servald start foreground
>>> > I'm a bit confused. Yesterday I ran servald on the routers, and
>>> checked with
>>> > htop that servald is indeed running in the background. Today when I
>>> ran it
>>> > like that, in foreground, I saw that it segfaults right away and
>>> quits. The
>>> > output is attached in a text file. I don't know what happened, maybe
>>> > yesterday I was dreaming or something, or maybe I changed something
>>> since
>>> > then.
>>> INFO: rhizome_http.c:157:rhizome_http_server_start() RHIZOME HTTP
>>> SERVER, START port=4110 fd=9
>>> INFO: dna_helper.c:156:dna_helper_start() DNAHELPER none configured
>>> ERROR: server.c:378:crash_handler() Caught SIGSEGV (11) Segmentation
>>> fault
>>> INFO: performance_timing.c:178:dump_stack() overlay_interface_discover
>>> INFO: performance_timing.c:178:dump_stack() parseCommandLine
>>> ERROR: log.c:436:log_backtrace() mkstemp: Invalid argument [errno=22]
>>> INFO: server.c:402:crash_handler() Re-sending signal 11 to self
>>> Segmentation fault
>>> > That segfault is funny. They don't come and go without recompilation
>>> in my
>>> > experience so it's most likely that I somehow overlooked it yesterday,
>>> and
>>> > that is why it didn't work.
>>> What user is the process running as?
>>> If it is not root, it might barf if trying to open a socket to listen
>>> on below 1024 as a non-root users.
>>> SIG 11's are not exactly common?
>>> Does mkstemp() have permission to write to disk in the expected
>>> location? Is there enough space?
>>> Is mkstemp() expecting an argument with a null terminated string?
>>> cheers,
>>> Kim
>>> --
>>> "Art without engineering is dreaming; engineering without art is
>>> calculating." --SKR
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "Serval Project Developers" group.
>>> To post to this group, send email to
>>> serval-project-developers@googlegroups.com.
>>> To unsubscribe from this group, send email to
>>> serval-project-developers+unsubscribe@googlegroups.com.
>>> For more options, visit this group at
>>> http://groups.google.com/group/serval-project-developers?hl=en.
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Serval Project Developers" group.
>> To post to this group, send email to
>> serval-project-developers@googlegroups.com.
>> To unsubscribe from this group, send email to
>> serval-project-developers+unsubscribe@googlegroups.com.
>> For more options, visit this group at
>> http://groups.google.com/group/serval-project-developers?hl=en.
> --
> You received this message because you are subscribed to the Google Groups
> "Serval Project Developers" group.
> To post to this group, send email to
> serval-project-developers@googlegroups.com.
> To unsubscribe from this group, send email to
> serval-project-developers+unsubscribe@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/serval-project-developers?hl=en.