Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

walterw

Members
  • Posts

    39
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by walterw

  1. With the advent of virtualization, I wouldn't actually do these things, they would be simulated.  I mean, there is no way Google or ... Microsoft manually test their products.  Maybe there is some proprietary product that does this testing.

    It isn't whether I have issues with these things, it is whether I *COULD* have issues with these things and not know about it.  I'd rather know when I build my system that something is broken so I could just not upgrade.

  2. Hi all, I suspect I am having permissions problems with overlayfs.

    1. created a file (as root)

    2. ls -l <file>

    3. confirmed the file is owned by root

    4. ran unshare -r <some executable> - output indicates file as being owned by nobody or 65534 even though ls -l confirms it is owned by root

    5. ls -l <file> still shows file is owned by root

     

    Lastly, I confirmed in /rw/<path-to-file> that the permissions are the same as the file I created.  Why is unshare seeing different permissions and how do I see what it sees?

  3. Well, yes, stuff generally works; however, when I need to print or something I haven't done in a year, it may not work and chasing down the problem when I need it to work is bothersome.  And, by then it would be nearly impossible to see what change may have caused it.  It might turn out that an application configuration needs to be changed.

     

    If all of that stuff could be simulated, then once I have the activity captured where I could replay it later, then I would have a guarantee that a new build is good before I actually decide to reboot to it.  It is the same reason we have kits.

  4. That doesn't answer how I would test a linux image (where an image is an ISO ...).  Sure, whatever I ultimately would invoke could be initiated by this, but I'm looking for the tool that would simulate network traffic, someone logging in, plugging in a monitor, etc.

    I would imagine I could hack together a bunch of scripts to do stuff in virtualbox, but that is sort of limited I would imagine and tied to virtualbox.  Even then, I'd probably have to code in C or something.

  5. With all of the tools such as docker and virtualbox, I can easily launch a VM, but what I would like to do is to simulate all of the typical activity I perform on my machine and replay that against the VM to see what works and doesn't work.

     

    Is this possible using off-the-shelf software?  For example, I would like to plug in a USB thumbdrive, join a wifi network, have certain displays connected, etc.

  6. Hi,

    I want to confirm that for some kits, they're no longer being actively synced with gentoo.  For example, core-kit, apparently is not:

     

    The problem is that for example the version I'm trying to download doesn't exist in the gentoo package listing and is not available on mirrors.

     

    net-dns/bind-tools-9.11.0_p3:0/0::core-kit

    sys-apps/file-5.30

     

    Lastly, on a related note, what is the process for marking packages as stable.  Ie, is there automated testing, then someone simply updates the branch?  If so, I'd like to understand the process so I could also automate testing of the builds that I generate so I can ensure when I update my system, it will reliably run.

  7. I am still debugging this.

    So, I went through my logs and found I have this issue for both init scripts that I wrote and that were prepackaged with Gentoo/Funtoo.  That said, I am investigating one that I wrote for argus.  One issue is that the pidfile was not created; however, I even manually created it and the start-stop-daemon doesn't seem to be recognizing that it is started.

     

    I'm going through the source for openrc to try to piece together what's going on: https://github.com/OpenRC/openrc/blob/90d9ea656ff7c6b5d618df4e4261ebfa4033f1a8/src/rc/start-stop-daemon.c

     

    Line 690 appears to be where it is finding that an existing PID exists.

     

    Lastly, I did something more interesting.  Unbound was running and I could restart it with no issues.  I did the following:

    1. rename the pid file from /run/unbound.pid to /run/unbound.pid.bak

    2. issued service unbound restart

    3. got what I expected, socket already in use, failed to start unbound

    3. rename the pid file from /run/unbound.pid.bak to /run/unbound.pid

    4. issue service unbound restart

    5. got what I did NOT expect, same issue I have above.

     

    When I purposely screw up the state of the the daemon, the files under /run/openrc/daemons disappear.  These files appear to be critical in determining the state of the daemon EVEN IF I PUT THE PIDFILE BACK.  So, I started unbound and got it running, then backed up those files under openrc:

    openrc/daemons/unbound
    openrc/daemons/unbound/001
    openrc/started/unbound
     

     

    I then screwed up the state of it by moving the pidfile.  At this point, I could not restart unbound as predicted.  So, I restored the state files under /run/openrc and voila, I was able to start/stop unbound again.

     

    Hmm, so with all of that, it seems that if the pidfile fails to be created for whatever reason, openrc is unable to correctly determine the state of the daemon.

     

    So, why is the pidfile failing to be created if I get a successful status when this stuff starts up?  Lastly, if it fails to be created, I need to check, but openrc should return an error if it isn't already doing so.

  8. Thanks for the reply - NetworkManager is merely acting as a catalyst to tell OpenRC to start the service.  The process is like this:

     

    1. NetworkManager starts (part of the default runlevel)

    2. NetworkManager joins a specific network and fires an event, invokes dispatcher script

    3. The NetworkManager dispatcher script calls a bunch of stuff which ends up calling service <service name> restart.  I call restart because the service may already be running and was just reconfigured for a given network.  These services are not part of the default or boot runlevels.

     

    OpenRC is still starting/stopping the services.  They're just invoked via NetworkManager.

  9. Thanks - I am still debugging and am guessing I need to dig into /sbin/openrc-run.

    1. /var/log/messages capture the output from running service <service name> start and shows the service started
    2. The pidfile for that service exists (and has the correct PID for that service)
    3. The output of ps aux --forest | grep <service name> shows that PID and the same cmdline that the init script has

     

    I am starting these services through a NetworkManager dispatcher script that executes through the at daemon (since it takes some time to complete).  No, zapping does not work because the process is still running.  When issuing a restart, I get the same problem.  I must kill that PID and then restart the service.  At that point, rc-status and service <service name> work fine.

     

    I tested this for privoxy, but was previously also having the same problem for sshd, shorewall, and unbound.

  10. I updated my systems and my recent builds are having this issue both on desktops and servers.  When running rc-status, some services are reported as stopped even though they are running and when I try to either do a service <service name> start or service <service name> restart, it reports that the service is already running.

     

    I am only starting my services through the /usr/sbin/service command.  The only thing I can think of is checking the permissions at /run, and that seems fine.  What else / where else should I look to sort this out?

     

     

    Thanks in advance,

    Walter

  11. Hi all,

    This one has been bugging me for a while.  At first, I thought it might be related to running a hardened system, so I decided to migrate to a more vanilla install, but I get the same thing repeatably.  I' running gentoo sources 4.13.9 and NetworkManager 1.4.4-r1.

    I can reproduce this problem on any of my machines as long as I restart NetworkManager when an interface is up.  The workaround for me is to bring down the interface (ifconfig eth0 down) before restarting NetworkManager.

     

    Short of running strace, what else can I do to sort this out?

     

    Walter

×
×
  • Create New...