queue stream mode change can crash ECLiPSe (0927)

From: Kish Shen <ks15_at_icparc.ic.ac.uk>
Date: Fri 20 Apr 2001 05:23:40 PM GMT
Message-Id: <E14qedA-0005Ve-00@holborn.icparc.ic.ac.uk>
Queues can be changed from read/write to update mode:

[eclipse 1]: open(queue("abc"), read, a).

yes.
[eclipse 2]: set_stream_property(a, mode, update).

yes.
[eclipse 3]: read(a,X).

X = abc
yes

If read/2 is called before the mode change, then an error is raised as
expected. However, if the mode is then changed to update, and read called
again, ECLiPSe (both main and patch branches) crashes:

[eclipse 1]: open(queue("abc"), write, a).

yes.
[eclipse 2]: read(a,X).
illegal stream mode in read_(a, X, eclipse)
[eclipse 3]: set_stream_property(a, mode, update).

yes.
[eclipse 4]: 2.
read(a, X).
Segmentation violation - possible reasons are:
- a faulty external C function
- certain operations on circular terms
Received on Fri Apr 20 18:23:41 2001

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:08:05 PM GMT GMT