GNUstep and libkvm

Pascal Hofstee caelian at gmail.com
Sun Feb 20 21:50:32 GMT 2005


A while ago i initiated a thread on hackers@ requesting additional
information regarding a known issue with the gnustep-gui port "needing
/proc" even when gnustep-base itself (which in turn is used by -gui)
was compiled without procfs support.

The results of my findings can be found in the following list-archive entries:

http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg49357.html
http://www.mail-archive.com/freebsd-hackers@freebsd.org/msg49577.html

Short summary is the kvm_getargv function seems to trigger a kvm_uread
call when the length of "command + argumentlist" exceeds the value of
kern.ps_arg_cache_limit.

This kvm_uread call is responsible for the observed /proc groveling.
I had hoped to acquire some additional information on how to properlly
debug libkvm in GDB and if this /proc dependency is intended behavior.

To me personally (though i am not a kernel hacker) it doens't really
make sense to have libkvm (which is intended to be a 'replacement' for
/proc to my understanding)  intenrally depend on the same system it's
trying to 'replace', though I noticed from the manpages that the
kvm_getargv function doesn't really belong in libkvm.

Can anybody at least either confirm wether or not this is 
- intended behavior
- a bug and a proper PR should likely be created

For those interested i have put up a small "kvmtest" testcase that
basically contains the GNUstep code that triggers this behaviour for
easier debugging.

This tarball is available at
http://netherite.student.utwente.nl/~daeron/kvmtest.tar.gz

Any feedback regarding this issue would be highly appreciated.

With kind regards,
  Pascal Hofstee


More information about the freebsd-current mailing list