4 Replies Latest reply: Jul 21, 2009 8:46 PM by 807557 RSS

    Bug in SunPCi 3.2.2 software

    807557
      I just installed a SunPCi IIIpro on a Sun Blade 2500 loaded with latest shrink-wrapped 5/09 Solaris 10. I noticed right away that it would consistently take 9-10 minutes from the time I hit <Enter> until the SunPCi window finally comes up. I had read that: +"Network Startup Is Slow After Configuration"+, but this was a completely different issue.

      I ran sunpcbinary under truss which revealed that the executable is trying to access some automounted drive in the Sun development shop! How about that!

      r
      ead(9, "010101EE\0\0\0\0\0D8\0\v".., 32)       = 32
      write(9, " F\0\005\0F0\0 ^\0F0\0 &".., 76)      = 76
      stat64("/net/ltfu/files1/sunpci/packages/spcipkg_20040908_2309.snapshot.sunpci3/p_msa/sw/sparc/gui/Motif/", 0xFFBFD258) (sleeping...)
      The executable will sit on that line for about 10 minutes before giving up. You don't even have to have a SunPCi card to see what happens when you do something as simple as listing the directory as follows... notice the timestamps before and after.
      $ date; ls /net/ltfu/files1/sunpci/packages/spcipkg_20040908_2309.snapshot.sunpci3/p_msa/sw/sparc/gui/Motif/; date
      *Mon Jul 20 21:09:45 EDT 2009*
      /net/ltfu/files1/sunpci/packages/spcipkg_20040908_2309.snapshot.sunpci3/p_msa/sw/sparc/gui/Motif: No such file or directory.
      *Mon Jul 20 21:18:08 EDT 2009*
      I don't want to have to disable the automounter to get around this bug.
        • 1. Re: Bug in SunPCi 3.2.2 software
          807557
          A global binary replace fixed the problem! Used perl to do binary replace of /net/ltfu with /opt/ltfu everywhere. Since /opt is NOT automounted, the sunpci software will not choke when it doesn't find /opt/ltfu. Use at your own risk!
          #!/bin/sh
          
          cd /opt/SUNWspci3
          
          for f in `find . -type f -print`
          do
              perl -pe 'BEGIN{binmode(STDIN); binmode(STDOUT);} s/\/net\/ltfu/\/opt\/ltfu/g' < $f > $f.mod
              mv $f.mod $f
          done
          • 2. Re: Bug in SunPCi 3.2.2 software
            807557
            Also,
            $ chmod -R +x /opt/SUNWspci3/bin
            to restore executable permissions of binaries.
            • 3. Re: Bug in SunPCi 3.2.2 software
              795934
              Thanks for pointing that out. I had the same problem.

              As an alternative workaround, without having to edit the executable, found that it is possible to use the following dtrace script to avoid the delay:
              #! /usr/sbin/dtrace -ws
              
              syscall::stat64:entry
              /execname == "sunpcbinary" && stringof(copyin(arg0, 10)) == "/net/ltfu/" /
              {
                 copyoutstr("/.../", arg0, 6);
              }
              (got the idea from [dtrace saves me from nautilus|http://blogs.sun.com/chrisg/entry/dtrace_saves_me_from_nautilus])
              • 4. Re: Bug in SunPCi 3.2.2 software
                807557
                Thank you so much for the tip. I think I'll be using dtrace from now on.