Pierre Labastie wrote:
> Le 02/04/2013 19:39, Bruce Dubbs a écrit :
>>
>> I was meaning to bring this up again. I get
>>
>> Running ./pmap.test/pmap.exp ...
>> FAIL: pmap X with unreachable process
>> FAIL: pmap XX with unreachable process

That means that it can't find /proc/1.  If /proc is mounted, that should 
always be there, e.g. `cat /proc/1/cmdline`.


>> vmstat gives me:
>>
>> # of expected passes    6

> I have not been able to reproduce the /proc/diskstats beginning with
> sr0. Only in that case does the vmstat test fail.

Isn't sr0 a cdrom?  On my system, I have:

   11       0 sr0 0 0 0 0 0 0 0 0 0 0 0

Major dev#, minor dev#, name, counters...

>> I think the pmap tests issues have something to do with jhalfs as I
>> can't get it to fail outside of the full jhalfs build.

> Problem is: the tests passed three times on 64 bit, and never on 32 bit
> (for me). All during a full jhalfs build.

Interesting.  I'm doing a build right now and waiting for the gcc tests 
to complete.  I did add a command to copy the procps logs to /tmp, so I 
can look at them in a few hours.

> Now, using your script, under chroot, on the 32 bit machine, I still get
> the 2 pmap errors.

What do the logs say?

> Maybe I need to try another 32 bit machine (say finish building lfs...).
> Too late tonight...

> Actually, if I type in the VM for example:
> pmap -X 1
> I get a short (2 lines) output.

$ pmap -X 1
1:   init [3]

$ sudo pmap -X 1
1:   init [3]
  Address Flags   Offset Device   Inode     Rss     Pss Referenced 
Anonymous    Swap  Locked Description
00400000  r-xp 00000000 103:00  853659      32      32         32 
   0       0       0 /sbin/init
pmap: Unknown format in smaps file!

$ pmap -X 1 | hexdump -C
00000000  31 3a 20 20 20 69 6e 69  74 20 5b 33 5d 20 20 0a  |1:   init 
[3]  .|
00000010

> Now, under chroot, the same command gives a very long output (and that
> is what is shown in the log).

The regex should still match.  I'm thinking it has to dow with pmap 
returning an error code along with:  "Unknown format in smaps file!"

This indicates a kernel issue to me.  Indeed, looking at /proc/1/smaps,
it looks quite different from /proc/1/maps.  The pmap.c code does:

fields = sscanf(mapbuf,...
if (nfields < 6)
      xerrx(EXIT_FAILURE, _("Unknown format in smaps file!"));

Now that I look at this, the code has not caught up with the kernel.

$ sudo cat /proc/1/smaps

00400000-00408000 r-xp 00000000 103:00 853659 /sbin/init
Size:                 32 kB
Rss:                  32 kB

I suspect it would work with just changing the above to:

if (nfields < 6) continue;

> Maybe it has something to do with the mounting of the proc virtual system.
>
> Anyway, it seems somewhat random... Is it really worth investigating?

These are the last unexplained errors in my build of LFS.  It would be 
nice to get a completely clean build.

   -- Bruce
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to