All of lore.kernel.org
 help / color / mirror / Atom feed
From: Peter <peter.spamcatcher@rimuhosting.com>
To: Bodo Stroesser <bstroesser@fujitsu-siemens.com>
Cc: user-mode-linux-devel@lists.sourceforge.net,
	Jeff Dike <jdike@addtoit.com>
Subject: Re: [uml-devel] Memory corruption/errors?
Date: Thu, 23 Dec 2004 12:04:33 +1300	[thread overview]
Message-ID: <41C9FD81.6000408@rimuhosting.com> (raw)
In-Reply-To: <41C9E847.2060405@fujitsu-siemens.com>

I don't run TT mode UMLs.  So, no I haven't tried that.

I don't know about the sighandler.  The program runs as it was listed. 
It is running on a 'regular' server (Debian, and/or WBL3) with other 
processes running.  And the host servers happen to be running other 
UMLs.  I don't know if that information helps.  (i.e. can a sighandler 
in another process on the UML or on the host cause this problem?)

I'd be happy to try out a skas patch - preferably if it just applied to 
the guest ;)  To see if it fixes things or not.

Regards, Peter


Bodo Stroesser wrote:
> Peter wrote:
> 
>> I don't recall seeing an error where the obs and exp were equal.  I 
>> saw plenty where they were not equal.
>>
>> The code is pretty simple:
>> double observed = a[i];
>> double expected = (double) i;
>> if (observed != expected) {
>>           printf ("failed at i=%u, k=%u (obs %.18g vs exp %.18g)\n",i, 
>> k,observed, expected);
>> };
>>
>> Maybe it is just some unexpected handling on the != operator with 
>> doubles?
>>
>> Are you seeing cases where obs!=exp?  And difference if you run it on 
>> a uni-proc server vs. a smp server?
> 
> No. I just found a problem in SKAS sigcontext handling.
> The fp-registers are not restored correctly. Then, I remembered the 
> problems
> with memtest, which uses floatpoint.
> I modified the test to have sighandlers being started evey 10ms, using
> the fpu in the sighandler. Then, *many* error occured in my "memtest2".
> Without the modification, I couldn't reproduce the problems.
> 
> Two questions:
> 1) are you able to reproduce the problems in TT-mode?
> 2) do you have any idea, why a signal handler using floatpoint should be 
> started,
>    while running the original memtest?
> 
> Have attached my memtest2.c
> 
> Regards
> Bodo
> 
> P.S.: Mail with full description of the problem I've found will follow 
> soon.
> 
>>
>> Regards, Peter
>>
>> Bodo Stroesser wrote:
>>
>>> Carl wrote:
>>>
>>>> Hi,
>>>>
>>>> Running the piece of code from the URL below is generating errors on
>>>> various UML kernels:
>>>>
>>>> http://downloads.rimuhosting.com/memtest.c
>>>>
>>>> Kernels tested are: 2.4.27, 2.4.27-bs1, 2.6.9-bb4.
>>>>
>>>> Different UML host servers have been tried too, and only UMLs 
>>>> running on
>>>> SMP (dual Xeon) servers seem to have the problem (P4s with HT are 
>>>> fine).
>>>>
>>>> Can anyone else reproduce the errors? Any ideas?
>>>>
>>>> Thanks, Carl
>>
>>
>> Do you see messages like this one
>>
>>     "failed at i=17240, k=85 (obs 17240 vs exp 17240)"
>>
>> with obs and exp being equal?
> 
> 
> 
> ------------------------------------------------------------------------
> 
> #include <stdio.h>
> #include <stdlib.h>
> #include <signal.h>
> #include <sys/time.h>
> 
> #define N (20*1024)
> 
> void sighdlr(int sig)
> {
>     double a;
> 
>     a = 256;
> 
>     double observed = a;
>     double expected = 257;
> 
>     if ( observed == expected )
> 	printf("Error in sighdlr()\n");
> }
> 
> int
> main (void)
> {
>     size_t i, k;
>     struct itimerval itimer = { { 0, 10000}, { 0, 10000} };
> 
>     signal(SIGALRM, sighdlr);
>     setitimer( ITIMER_REAL, &itimer, NULL);
> 
>     for (k = 1; k < 1000; k++) {
> 	double *a = malloc (N * sizeof (double));
> 	if (a == 0) {
> 	    printf ("malloc failed at k=%u\n", k);
> 	    exit (1);
> 	}
> 
> 	for (i = 0; i < N; i++) {
> 	    a[i] = (double) i;
> 	    double observed = a[i];
> 	    double expected = (double) i;
> 	    if (observed != expected) {
> 		printf ("failed at i=%u, k=%u (obs %.18g vs exp %.18g)\n", i, k,
> 		        observed, expected);
> 	    }
> 	}
> 
> 	for (i = 0; i < N; i++) {
> 	    double observed = a[i];
> 	    double expected = (double) i;
> 	    if (observed != expected) {
> 		printf ("failed at i=%u, k=%u (obs %.18g vs exp %.18g)\n", i, k,
> 		        observed, expected);
> //		exit (1);
> 	    }
> 	}
> 	free (a);
>     }
>     exit (0);
> }


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now. 
http://productguide.itmanagersjournal.com/
_______________________________________________
User-mode-linux-devel mailing list
User-mode-linux-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/user-mode-linux-devel

  reply	other threads:[~2004-12-22 23:04 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-12-20 22:56 [uml-devel] Memory corruption/errors? Carl
2004-12-22 12:09 ` Bodo Stroesser
2004-12-22 19:58   ` Peter
2004-12-22 21:33     ` Bodo Stroesser
2004-12-22 23:04       ` Peter [this message]
2004-12-22 23:15         ` Bodo Stroesser
2004-12-22 22:04 ` Bodo Stroesser
2004-12-22 22:07   ` Bodo Stroesser
  -- strict thread matches above, loose matches on Subject: below --
2004-12-23 13:26 [Fwd: Re: [uml-devel] Memory corruption/errors?] Bodo Stroesser
2004-12-24  2:32 ` Peter
2005-01-10  4:21   ` [uml-devel] Memory corruption/errors? peter
2005-01-10 10:10     ` Bodo Stroesser

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=41C9FD81.6000408@rimuhosting.com \
    --to=peter.spamcatcher@rimuhosting.com \
    --cc=bstroesser@fujitsu-siemens.com \
    --cc=jdike@addtoit.com \
    --cc=user-mode-linux-devel@lists.sourceforge.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.