Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

gnat 3.15p/Windows and tasking bug

4 views
Skip to first unread message

michael bode

unread,
Jul 24, 2006, 9:06:32 AM7/24/06
to
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.

Alex R. Mosteo

unread,
Jul 24, 2006, 10:12:54 AM7/24/06
to
michael bode wrote:

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.

Michael Bode

unread,
Jul 24, 2006, 2:54:55 PM7/24/06
to
"Alex R. Mosteo" <dev...@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

Alex R. Mosteo

unread,
Jul 25, 2006, 3:33:03 AM7/25/06
to
Michael Bode wrote:

> "Alex R. Mosteo" <dev...@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.

0 new messages