comp.lang.ada
 help / color / mirror / Atom feed
* gnat 3.15p/Windows and tasking bug
@ 2006-07-24 13:06 michael bode
  2006-07-24 14:12 ` Alex R. Mosteo
  0 siblings, 1 reply; 4+ messages in thread
From: michael bode @ 2006-07-24 13:06 UTC (permalink / raw)


I (and Google) remember a discussion about a bug in gnat 3.15p for
Windows regarding tasking and delay statements that delay much longer
than they should sometimes. What I don't remember and also did not
find through Google was a precise description and if there was a
workaround or some success using gcc-gnat 3.4.x (3.4.5 is the current
MinGW version I think). 

To be precise I found references to TWO such bugs one of them was
limited to rather old mainboards or chipsets. I'm searching for
information on the other bug.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: gnat 3.15p/Windows and tasking bug
  2006-07-24 13:06 gnat 3.15p/Windows and tasking bug michael bode
@ 2006-07-24 14:12 ` Alex R. Mosteo
  2006-07-24 18:54   ` Michael Bode
  0 siblings, 1 reply; 4+ messages in thread
From: Alex R. Mosteo @ 2006-07-24 14:12 UTC (permalink / raw)


michael bode wrote:

> I (and Google) remember a discussion about a bug in gnat 3.15p for
> Windows regarding tasking and delay statements that delay much longer
> than they should sometimes. What I don't remember and also did not
> find through Google was a precise description and if there was a
> workaround or some success using gcc-gnat 3.4.x (3.4.5 is the current
> MinGW version I think).
> 
> To be precise I found references to TWO such bugs one of them was
> limited to rather old mainboards or chipsets. I'm searching for
> information on the other bug.

I keep a copy of my old patch for gnat 3.15p/win. You could try comparing
these files to the original ones to find the diffs, and also compare them
to the mingw ones. I think that 3.15p was still 2.x based, so maybe they're
too different.

Anyhow, the files are here:

https://svn.mosteo.com/public/adagio/gnatpatch/

I strongly suspect the only one with modifications is s-tasren.adb, the
others are simply there because they had to be recompiled because of
dependencies. However this is just a fuzzy recall.

What I can say is that when recompiling these files and linking them with my
program, the bug went away. I received two different patches, but can not
remember their origins. I kept the most recent one, the older one caused
some other bug.

To compile, gnatmake -u -a *.ad? and then include the objects for linking.
The other way is to recompile the entire gnat runtime with the patched
sources. I preferred the first way so I was sure that any stock unmodified
3.15p installation would serve.

Hope this helps.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: gnat 3.15p/Windows and tasking bug
  2006-07-24 14:12 ` Alex R. Mosteo
@ 2006-07-24 18:54   ` Michael Bode
  2006-07-25  7:33     ` Alex R. Mosteo
  0 siblings, 1 reply; 4+ messages in thread
From: Michael Bode @ 2006-07-24 18:54 UTC (permalink / raw)


"Alex R. Mosteo" <devnull@mailinator.com> writes:

> https://svn.mosteo.com/public/adagio/gnatpatch/
>
> I strongly suspect the only one with modifications is s-tasren.adb, the
> others are simply there because they had to be recompiled because of
> dependencies. However this is just a fuzzy recall.

Thanks. The only difference apart from revision numbers is in
s-osprim.adb in line 165:

Base_Monotonic_Clock := Base_Clock;

> What I can say is that when recompiling these files and linking them with my
> program, the bug went away. 

Mine went away when I started to insert debugging code. Seems to be
a Heisenbug :-(

-- 
Michael Bode



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: gnat 3.15p/Windows and tasking bug
  2006-07-24 18:54   ` Michael Bode
@ 2006-07-25  7:33     ` Alex R. Mosteo
  0 siblings, 0 replies; 4+ messages in thread
From: Alex R. Mosteo @ 2006-07-25  7:33 UTC (permalink / raw)


Michael Bode wrote:

> "Alex R. Mosteo" <devnull@mailinator.com> writes:
> 
>> https://svn.mosteo.com/public/adagio/gnatpatch/
>>
>> I strongly suspect the only one with modifications is s-tasren.adb, the
>> others are simply there because they had to be recompiled because of
>> dependencies. However this is just a fuzzy recall.
> 
> Thanks. The only difference apart from revision numbers is in
> s-osprim.adb in line 165:
> 
> Base_Monotonic_Clock := Base_Clock;

Now that you point it, it rings a bell: it was in fact s-osprim.adb and that
was the change.

>> What I can say is that when recompiling these files and linking them with
>> my program, the bug went away.
> 
> Mine went away when I started to insert debugging code. Seems to be
> a Heisenbug :-(

A Bad Thing, I'm sorry. If you can get the archive of the old Gnat list
(I've been unable myself after five minutes), I posted there a testcase
that helped me, with the aid of several people, to test for this bug. It
was a simple program with a lot of tasks that usually triggered the bug in
few minutes. Nobody in that list knew of the bug, so we hunted for it in
several platforms. 

Best,

A. Mosteo.




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2006-07-25  7:33 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-07-24 13:06 gnat 3.15p/Windows and tasking bug michael bode
2006-07-24 14:12 ` Alex R. Mosteo
2006-07-24 18:54   ` Michael Bode
2006-07-25  7:33     ` Alex R. Mosteo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox