PR# 2156 x.copy(3) results in bus error if x and y are Integers
Problem Report Summary
Submitter:
Category: Compiler
Priority: Medium
Date: 1999/11/16
Class: Bug
Severity: Serious
Number: 2156
Release: 4.4.004
Confidential: No
Status: Suspended
Responsible:
Environment: Mozilla/4.6 [en] (X11; U; SunOS 5.6 sun4u)
Synopsis: x.copy(3) results in bus error if x and y are Integers
Description
This may be related to an earlier bug report concerning INTEGER.default. I am using the precompiled Base+Vision library. x.copy( y ) gives a variety of runtime errors. The most common are the following two. 1. y = 0. stooge: system execution failed. Following is the set of recorded exceptions: stooge: system execution failed. Following is the set of recorded exceptions: ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- INTEGER_REF copy other_not_void: <00DDF3D0> (From GENERAL) Precondition violated. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION build <00DDED48> Routine failure. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION make <00DDED48> (From MOTIF_APP) Routine failure. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION root's creation <00DDED48> Routine failure. Exit ------------------------------------------------------------------------------- 2. y /= 0 stooge: system execution failed. Following is the set of recorded exceptions: ------------------------------------------------------------------------------- Class / Object Routine Nature of exception Effect ------------------------------------------------------------------------------- INTEGER_REF same_type Bus error: <00DDF3D0> (From GENERAL) Operating system signal. Fail ------------------------------------------------------------------------------- INTEGER_REF same_type <00DDF3D0> (From GENERAL) Routine failure. Fail ------------------------------------------------------------------------------- INTEGER_REF copy type_identity: <00DDF3D0> (From GENERAL) Precondition violated. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION build <00DDED48> Routine failure. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION make <00DDED48> (From MOTIF_APP) Routine failure. Fail ------------------------------------------------------------------------------- PUZZLE_APPLICATION root's creation <00DDED48> Routine failure. Exit -------------------------------------------------------------------------------
To Reproduce
Just try x.copy( y ) with x and y Integers.
Problem Report Interactions
State-Changed-From-To: open-suspended State-Changed-By: Manu State-Changed-When: Mon Nov 15 21:49:42 PST 1999 State-Changed-Why: Dear James, Using pure basic types to do `copy' is not really recommended. It is better to use the `:=' operator. There are a few routines that does not work well with expanded type. In the forthcoming 4.5 release, we improved the behavior of most routines applied on basic types, but there are still a few incompatibilities which can be resolved easily by using some other features, like `:=' instead of `copy'. Hope this helps, From: James McKim <jcm@rh.edu> To: bugs@support.eiffel.com Cc: houman@mstr.rh.edu Subject: Re: Compiler/2156 Date: Tue, 16 Nov 1999 10:11:59 -0500 (EST) > From nobody@support.eiffel.com Tue Nov 16 00:32 EST 1999 "nobody"? :-) > To: jcm@rh.edu > Subject: Compiler/2156 > Content-Type: text > Content-Length: 1370 > X-Status: > X-Lines: 42 > > Synopsis: x.copy(3) results in bus error if x and y are Integers > > State-Changed-From-To: open- .... Output truncated, Click download to get the full message