PR# 17943 character assignment in STRING_8 crashes in finalized exe

Problem Report Summary
Submitter: finnianr
Category: Compiler
Priority: Low
Date: 2011/11/05
Class: Bug
Severity: Serious
Number: 17943
Release: EiffelStudio (7.0.8.7451 GPL Edition - win64)
Confidential: No
Status: Analyzed
Responsible:
Environment: Windows 7, Windows SDK 7.1
Synopsis: character assignment in STRING_8 crashes in finalized exe

Description
In the following routine the character assignment will fail in the finalized exe. Execution within the debug environment is fine.

    my_routine 
        local
            str: STRING
        do
            -- Creates string with 8 digits
            create str.make_from_string ((0).to_hex_string)
            str [2] := 'c'
            -- str.put ('c', 2)
        end

However if the 'put' form is used it will execute without error. (shown commented out)
To Reproduce

										
Problem Report Interactions
From:finnianr    Date:2011/11/07    Download   
I can also report that exactly the same problem occurs when compiled on Ubuntu Linux 10.10 with gcc 4.4.5

From:finnianr    Date:2011/11/07    Download   
It crashes with a segmentation violation: Operating system signal.

From:manus_eiffel    Date:2011/11/07    Status: Analyzed    Download   
What kind of crash do you get?