Not sure if I should send a bug report

View: New views
3 Messages — Rating Filter:   Alert me  

Not sure if I should send a bug report

by Chris Saunders-4 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I created a small project to test a problem I was having with a larger one.
I created a default Vision application and I placed an EV_LIST in the
`main_container' that the IDE created.  Here is a bit of the code that I
used for testing:

 

 

feature -- Access

 

                list: EV_LIST

 

                list_strings: ARRAY [STRING_32] is

                                                -- Array of strings for
`list'.

                                once

                                                create Result.make (1, 3)

                                                Result.put ("string 1", 1)

                                                Result.put ("string 2", 2)

                                                Result.put ("string 3", 3)

                                end

 

At the bottom of `initialize' I put:

 

                                                create list

                                                main_container.extend (list)

                                                list.set_strings
(list_strings)

 

The application stop with the error "Catcall detected for  argument#1
`test': expected type#2280 FUNCTION [ANY, TUPLE [G#1], BOOLEAN] but got
type#2278".  In the larger project I was working on I got a similar error
under similar circumstances.  It does not seem to me that ` list.set_strings
(list_strings)' should be the source of a catcall.  Am I missing something
or should I make a bug report?

 

Here is the call stack:

 

Call stack:

 

ObjectClassRoutine

------------------

[0x3850BC0] ARRAYED_LIST for_all (From LINEAR) ( @ 0 )

[0x3850BC8] EV_LIST set_strings (From EV_LIST_ITEM_LIST) ( @ 3 )

[0x3850BD0] MAIN_WINDOW default_create (From EV_ANY) ( @ 6 )

 

Regards

Chris Saunders



[Non-text portions of this message have been removed]


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/eiffel_software/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/eiffel_software/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:eiffel_software-digest@...
    mailto:eiffel_software-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    eiffel_software-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


Re: Not sure if I should send a bug report

by Peter Gummer-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Chris Saunders wrote:

>                list: EV_LIST
>                list_strings: ARRAY [STRING_32] ...
>
>                list.set_strings (list_strings)
>
> The application stop with the error "Catcall detected for  argument#1
> `test': expected type#2280 FUNCTION [ANY, TUPLE [G#1], BOOLEAN] but got
> type#2278".  In the larger project I was working on I got a similar error
> under similar circumstances.  It does not seem to me that `
> list.set_strings
> (list_strings)' should be the source of a catcall.  Am I missing something
> or should I make a bug report?


You're using EiffelStudio 6.2, right Chris?

I submitted bug report #14127 for a similar bug six weeks ago, with
EiffelStudio 6.2.7.2639. In my case, it's in a call to
EV_COMBO_BOX.set_strings, which has a precondition that calls
arrayed_list.for_all. The latter expects a function with a STRING_8
argument, but instead set_strings is passing a function with a
STRING_GENERAL argument.

Jocelyn mentioned to me that the most recent release has an option to
disable the runtime catcall checking under the Execution menu - Exceptions.
I haven't tried it yet.

This problem seems to arise from a combination of a few things:

1. They are trying to tighten up the catcall checking (which is undeniably a
good thing).

2. STRING was split into three classes back in EiffelStudio 5.7 (done for
the worthy cause of internationalisation, but I think everyone will be glad
when there is just one STRING class again).

3. The topsy-turvy conformance rules for agents may be contributing (and
even if they're not, they are sure helping to confuse me).

4. There's probably a bug in EV_COMBO_BOX.set_strings (but I'm not even sure
of that).

As it's been a month since the last 6.2 intermediate release, they've
probably resolved this by now ... fingers crossed :-)

- Peter Gummer



------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/eiffel_software/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/eiffel_software/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:eiffel_software-digest@...
    mailto:eiffel_software-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    eiffel_software-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/


RE: Not sure if I should send a bug report

by Emmanuel Stapf [ES] :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> 3. The topsy-turvy conformance rules for agents may be
> contributing (and even if they're not, they are sure helping
> to confuse me).

This is because of the conformance rule that you have a catcall reporting
even though in this particular case it is actually safe at run-time since
the agent will know how to handle STRING_8 since it can handle
STRING_GENERAL.
 
> 4. There's probably a bug in EV_COMBO_BOX.set_strings (but
> I'm not even sure of that).

Due to the above. Ideally we can add some helper routines for those special
cases where STRING_GENERAL is used as an actual generic parameter. For
example, we have `strings' and `strings_8' for all descendants of
EV_LIST_ITEM_LIST. If we added `set_strings_8'/`set_strings_32' then the
problem disappear assuming that you change your code accordingly.

> As it's been a month since the last 6.2 intermediate release,
> they've probably resolved this by now ... fingers crossed :-)

Unfortunately no.

Regards,
Manu


------------------------------------

Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/eiffel_software/

<*> Your email settings:
    Individual Email | Traditional

<*> To change settings online go to:
    http://groups.yahoo.com/group/eiffel_software/join
    (Yahoo! ID required)

<*> To change settings via email:
    mailto:eiffel_software-digest@...
    mailto:eiffel_software-fullfeatured@...

<*> To unsubscribe from this group, send an email to:
    eiffel_software-unsubscribe@...

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/