Re: Problem using sav files. [message #21775] |
Fri, 22 September 2000 00:00 |
Liam E. Gumley
Messages: 378 Registered: January 2000
|
Senior Member |
|
|
Theo Brauers <th.brauers@fz-juelich.de> wrote in message
news:39CA6F2B.6268BFB2@fz-juelich.de...
> Liam Gumley wrote:
>>
>> It's probably a long shot, but instead of using RESOLVE_ALL, have you
tried
>> compiling only your procedures and functions, and saving them? In other
>> words, allowing the built-in routines to compile at runtime?
>>
>> Cheers,
>> Liam.
>
> Thanks for your advice: When I compiled my program I excluded already
about 50
> routines (mainly from our libary) which are never reached in this
application
>
> excluded=['DL_MAC','DL_VMS', 'SETLOG', 'DELLOG' $
> , 'NCDF_G','NCDF_GR', ....... , 'CT_YELLOW_RED_BLUE_GREEN_BLACK' $
> , 'ENL_OPLOT' ]
>
> in response to your posting I also excluded the following
> routines from the RSI\IDL53\lib directory
>
> excluded = [ excluded $
> , 'DOC_LIBRARY' $
> , 'IDL_CRANK' $
> , 'MK_HTML_HELP' $
> , 'RESOLVE_ALL' $
> , 'XDISPLAYFILE' $
> , 'XMANAGER' $
> , 'CONGRID' $
> , 'CORRELATE' $
> , 'CW_BGROUP' $
> , 'CW_FIELD' $
> , 'FILEPATH' $
> , 'INTERPOL' $
> , 'LS2FIT' $
> , 'MOMENT' $
> , 'MEAN' $
> , 'POLY' $
> , 'POLY_FIT' $
> , 'REVERSE' $
> , 'RSTRPOS' $
> , 'R_CORRELATE' $
> , 'STR_SEP' $
> , 'UNIQ' ]
>
> RESOLVE_ALL, SKIP_ROUT=excluded
>
> The problem remains the same. When I skip resolve_all
> and compile the whole thing during the the run for one data
> set it works fine for this set. When I SAVE/EXIT/START/RESTORE
> it crashes IDL again. :-|
The next step would be to reproduce the problem with the fewest lines of
code.
Cheers,
Liam.
http://cimss.ssec.wisc.edu/~gumley
|
|
|
Re: Problem using sav files. [message #21784 is a reply to message #21775] |
Thu, 21 September 2000 00:00  |
Theo Brauers
Messages: 58 Registered: November 1997
|
Member |
|
|
Liam Gumley wrote:
>
> It's probably a long shot, but instead of using RESOLVE_ALL, have you tried
> compiling only your procedures and functions, and saving them? In other
> words, allowing the built-in routines to compile at runtime?
>
> Cheers,
> Liam.
Thanks for your advice: When I compiled my program I excluded already about 50
routines (mainly from our libary) which are never reached in this application
excluded=['DL_MAC','DL_VMS', 'SETLOG', 'DELLOG' $
, 'NCDF_G','NCDF_GR', ....... , 'CT_YELLOW_RED_BLUE_GREEN_BLACK' $
, 'ENL_OPLOT' ]
in response to your posting I also excluded the following
routines from the RSI\IDL53\lib directory
excluded = [ excluded $
, 'DOC_LIBRARY' $
, 'IDL_CRANK' $
, 'MK_HTML_HELP' $
, 'RESOLVE_ALL' $
, 'XDISPLAYFILE' $
, 'XMANAGER' $
, 'CONGRID' $
, 'CORRELATE' $
, 'CW_BGROUP' $
, 'CW_FIELD' $
, 'FILEPATH' $
, 'INTERPOL' $
, 'LS2FIT' $
, 'MOMENT' $
, 'MEAN' $
, 'POLY' $
, 'POLY_FIT' $
, 'REVERSE' $
, 'RSTRPOS' $
, 'R_CORRELATE' $
, 'STR_SEP' $
, 'UNIQ' ]
RESOLVE_ALL, SKIP_ROUT=excluded
The problem remains the same. When I skip resolve_all
and compile the whole thing during the the run for one data
set it works fine for this set. When I SAVE/EXIT/START/RESTORE
it crashes IDL again. :-|
Thanks for your help.
Cheers Theo
--
----------------------------------------------
Dr. Theo Brauers
Institut fuer Atmosphaerische Chemie (ICG-3)
Forschungszentrum Juelich
52425 JUELICH, Germany
Tel. +49-2461-61-6646 Fax. +49-2461-61-5346
http://www.kfa-juelich.de/icg/icg3/MITARBEITER/th.brauers.ht ml
|
|
|
Re: Problem using sav files. [message #21788 is a reply to message #21784] |
Thu, 21 September 2000 00:00  |
Liam E. Gumley
Messages: 378 Registered: January 2000
|
Senior Member |
|
|
Theo Brauers <th.brauers@fz-juelich.de> wrote in message
news:39C9FFCA.138B6B3D@fz-juelich.de...
> My program is an widget driven i/o interface for FACSIMILE. It
> consists of about 400 functions/routines. When I compile the
> whole thing using resolve_all it works fine in this IDL session.
> However, when I save the thing ( easy.sav ) and restart IDL using
> the easy.sav file it worked fine for a while, then the thing
> crashes IDL totally during operation even when I use the same
> input data. Restarting IDL with sav file: crash. Restarting
> IDL with source compiled: OK. Save and restart: Crash. Rebooting
> and repeating gives the same result. I can also reproduce this
> behaviour on a different machine, with different user profile.
> I had the same behaviour with a previous version of the program
> which crashed in the same way at a different location in the
> program but I cannot reproduce this again :-|
It's probably a long shot, but instead of using RESOLVE_ALL, have you tried
compiling only your procedures and functions, and saving them? In other
words, allowing the built-in routines to compile at runtime?
Cheers,
Liam.
http://cimss.ssec.wisc.edu/~gumley
|
|
|
Re: Problem using sav files. [message #21789 is a reply to message #21784] |
Thu, 21 September 2000 00:00  |
Theo Brauers
Messages: 58 Registered: November 1997
|
Member |
|
|
David Fanning wrote:
>
> I'm going to guess programmer error. :-)
>
> You will go a long way toward solving the problem if you
> stick some kind of Catch error handler in those functions/routines.
> It is hard to write an application with 4 functions that doesn't
> have some kind of error, let alone 400! I use a Catch
> error handler in most of my widget programs that is some
> variation of this:
>
> Catch, theError
> IF theError NE 0 THEN BEGIN
> Catch, /Cancel
> Widget_Control, event.top, Set_UValue=info, /No_Copy
> ok = Error_Message(Traceback=1, /Error)
> RETURN
> ENDIF
>
> The Error_Message program can be found on my web page. It
> will put the system error message (!Error_State.Msg) in
> a Dialog_Message if appropriate for the device. Otherwise,
> it will use Message. But setting the Traceback keyword
> will lead you directly to the error. :-)
>
> Cheers,
>
> David
>
Hi again:
I put your code into those routines which are called in the vicinity
of the crash. No error during the operation from compiled routines.
It crashes again IDL coming up with Dr.Watson. The exception is an
access violation 0xc0000005 at address 0x02854f14. The problem
is that you cant step through a program loaded from sav file. Since
the error doesnot occur during the operation from freshly compiled
I am trapped ..... Probably its better to report the error to RSI
or to wait for IDL5.4.
Best Theo
--
----------------------------------------------
Dr. Theo Brauers
Institut fuer Atmosphaerische Chemie (ICG-3)
Forschungszentrum Juelich
52425 JUELICH, Germany
Tel. +49-2461-61-6646 Fax. +49-2461-61-5346
http://www.kfa-juelich.de/icg/icg3/MITARBEITER/th.brauers.ht ml
|
|
|
Re: Problem using sav files. [message #21792 is a reply to message #21784] |
Thu, 21 September 2000 00:00  |
Theo Brauers
Messages: 58 Registered: November 1997
|
Member |
|
|
David Fanning wrote:
>
> Theo Brauers (th.brauers@fz-juelich.de) writes:
>
>> I am stuck with a problem using a sav file:
>>
>> My program is an widget driven i/o interface for FACSIMILE. It
>> consists of about 400 functions/routines. When I compile the
>> whole thing using resolve_all it works fine in this IDL session.
>> However, when I save the thing ( easy.sav ) and restart IDL using
>> the easy.sav file it worked fine for a while, then the thing
>> crashes IDL totally during operation even when I use the same
>> input data. Restarting IDL with sav file: crash. Restarting
>> IDL with source compiled: OK. Save and restart: Crash. Rebooting
>> and repeating gives the same result. I can also reproduce this
>> behaviour on a different machine, with different user profile.
>> I had the same behaviour with a previous version of the program
>> which crashed in the same way at a different location in the
>> program but I cannot reproduce this again :-|
>>
>> Does anybody have similar problems? Is there any possibility
>> to catch an error before IDL crashes?
>> I am using: { x86 Win32 Windows 5.3.1 Feb 23 2000}
>
> I'm going to guess programmer error. :-)
>
> You will go a long way toward solving the problem if you
> stick some kind of Catch error handler in those functions/routines.
> It is hard to write an application with 4 functions that doesn't
> have some kind of error, let alone 400! I use a Catch
> error handler in most of my widget programs that is some
> variation of this:
>
> Catch, theError
> IF theError NE 0 THEN BEGIN
> Catch, /Cancel
> Widget_Control, event.top, Set_UValue=info, /No_Copy
> ok = Error_Message(Traceback=1, /Error)
> RETURN
> ENDIF
>
> The Error_Message program can be found on my web page. It
> will put the system error message (!Error_State.Msg) in
> a Dialog_Message if appropriate for the device. Otherwise,
> it will use Message. But setting the Traceback keyword
> will lead you directly to the error. :-)
>
> Cheers,
>
> David
>
Hi David
Thanks for your advice. I am going to try it. However, the problem
is that the program runs perfectly when compiled and it crashes IDL
(WinNT Dr. Watson shows up) when restored from sav file. Correct me
if I am wrong but I always thought that the SAVE/EXIT/START/RESTORE
combination puts me back to the location where I came from, not
lightyears away.
Best Theo
|
|
|
Re: Problem using sav files. [message #21793 is a reply to message #21784] |
Thu, 21 September 2000 00:00  |
davidf
Messages: 2866 Registered: September 1996
|
Senior Member |
|
|
Theo Brauers (th.brauers@fz-juelich.de) writes:
> I am stuck with a problem using a sav file:
>
> My program is an widget driven i/o interface for FACSIMILE. It
> consists of about 400 functions/routines. When I compile the
> whole thing using resolve_all it works fine in this IDL session.
> However, when I save the thing ( easy.sav ) and restart IDL using
> the easy.sav file it worked fine for a while, then the thing
> crashes IDL totally during operation even when I use the same
> input data. Restarting IDL with sav file: crash. Restarting
> IDL with source compiled: OK. Save and restart: Crash. Rebooting
> and repeating gives the same result. I can also reproduce this
> behaviour on a different machine, with different user profile.
> I had the same behaviour with a previous version of the program
> which crashed in the same way at a different location in the
> program but I cannot reproduce this again :-|
>
> Does anybody have similar problems? Is there any possibility
> to catch an error before IDL crashes?
> I am using: { x86 Win32 Windows 5.3.1 Feb 23 2000}
I'm going to guess programmer error. :-)
You will go a long way toward solving the problem if you
stick some kind of Catch error handler in those functions/routines.
It is hard to write an application with 4 functions that doesn't
have some kind of error, let alone 400! I use a Catch
error handler in most of my widget programs that is some
variation of this:
Catch, theError
IF theError NE 0 THEN BEGIN
Catch, /Cancel
Widget_Control, event.top, Set_UValue=info, /No_Copy
ok = Error_Message(Traceback=1, /Error)
RETURN
ENDIF
The Error_Message program can be found on my web page. It
will put the system error message (!Error_State.Msg) in
a Dialog_Message if appropriate for the device. Otherwise,
it will use Message. But setting the Traceback keyword
will lead you directly to the error. :-)
Cheers,
David
--
David Fanning, Ph.D.
Fanning Software Consulting
Phone: 970-221-0438 E-Mail: davidf@dfanning.com
Coyote's Guide to IDL Programming: http://www.dfanning.com/
Toll-Free IDL Book Orders: 1-888-461-0155
|
|
|