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
From:    Date:1999/11/16    Download   
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