You should follow Raul's suggestion and bisect your booting instead of commenting out random parts. Try to locate the exact line of crash first.
On Mon, 23 May 2022 at 6:22 AM 'Michael Day' via Beta <[email protected]> wrote: > It emerged with J902 beta-e - this isn't amazing memory recall; > olddefs.ijs appears in my old > J installations from J902 onwards, and has a date-stamp of 16/Aug/20. > > Here's most of the relevant email by Eric: > > J902-beta-e available for windows/macos/linux. > > This beta prints a warning message to your session if it encounters > code > that will not work in future releases. > > The warning is: > ************ Old-style definition encountered. It will be invalid > after > the beta period. > It has x/y without u/v/m/n ********** > > The base library and addons have already been updated with the required > coding change. > > Here's a copy (indented) of olddefs.ijs (66 lines): > > require 'strings' > NB. To check for old-style modifiers, load this script, and load the > locale you want to check. Then > NB. olddefs_localetocheck_ 0 > NB. olddefs_localetocheck_ 1 > NB. Any names printed when y=0 MUST be repaired; those printed only > when y=1 > NB. should be inspected > > NB. To check all loaded locales at once, use > NB. allolddefs <0 or 1> > > NB. check to see if a definition is old-style > NB. Returns 1 if it is > NB. y is AR of a modifier > NB. x is severity level, 0 or 1 > NB. 1 : '5!:5 <''x''' cannot be detected; it returns 0 if sev level > is 0, 1 if sev level is 1 > isarolddef_z_ =: 4 : 0"0 > sevlevel =. x > ar =. > y > NB. Analyze AR type > select. {. ar > case. <,'4' do. NB. A A or A C or C A > +./ sevlevel isarolddef 1{::ar return. NB. Look at children, > return 1 if either is old-style > case. <,':' do. > if. 1=#ar do. 0 return. end. NB. if plain :, nothing to look at > 'larg rarg' =. 1{::ar NB. The args of m : n > if. (<,'0') -.@-: {.larg do. 0 return. end. > if. (<,'0') -.@-: {.rarg do. 0 return. end. NB. verify m : n > if. -. (1{::larg) e. 1 2 do. 0 return. end. NB. m is 1 or 2 > wds =. ; <@;:"1 ": 1 {:: rarg NB. force to char, break to wirds, > run lines together > NB. old style is (x or y found) and not (uvmn found) > anyxy =. sevlevel +. ((;: 'x y') +./@:e. wds)+. (('__x';'__y') > +./@e. _3&{.&.> wds) > anyuvmn =. ((;:'u v m n u. v.') +./@e. wds) +. > (('__u';'__v';'__m';'__n') +./@e. _3&{.&.> wds) > anyxy *. -. anyuvmn return. > end. > 0 NB. If no match, it's OK > ) > > NB. check to see if a definition is old-style > NB. Returns 1 if it is > NB. y is boxed name of a modifier > isolddef_z_ =: 4 : 0"0 > x isarolddef 5!:1 y > ) > > NB. Check all names in the current locale > NB. y is severity level: 0 to return names that are known to be > old-style > NB. 1 to return names that might be old style because they have no > defined references to anything > NB. Ex: olddefs_localename_ 1 > olddefs_z_ =: 3 : 0 > NB. get names > nms =. nl '' > NB. keep only modifiers > modnms =. (1 2 e.~ 4!:0 nms) # nms > if. 0 =#modnms do. 0$a: return. end. > NB. Return names that are old-style > (#~ y&isolddef) modnms > ) > > NB. Check all names in all locales. y is severity level > allolddefs_z_=: 3 : 0 > for_l. 18!:1[i.2 do. > echo^:(0~:#) l,.olddefs__l y > end. > EMPTY > ) > > I'll probably leave it well alone! > > Cheers, > > Mike > > > On 22/05/2022 22:45, Henry Rich wrote: > > I hope you will go on to find out what is wrong with allolddefs, or at > > least post it so we can all see it. I don't remember it. > > > > Henry Rich > > > > > > > > On 5/22/2022 5:03 PM, 'Michael Day' via Beta wrote: > >> Success? > >> > >> I had tried that, initially on Friday,with jconsole.bat but didn't > >> see any clues. > >> > >> Also, as I said, I'd tried commenting out stuff in startup.ijs, > >> which also didn't > >> apparently change anything. > >> > >> Now, however, I embedded echo statements in startup.ijs They did > >> indeed > >> stop appearing before the end of the script. This suggested that > >> checking > >> old definitions was at fault; I rather think Henry must have > >> recommended > >> or requested we use it. This is the relevant snippet from startup.ijs: > >> > >> load'~user/olddefs.ijs' > >> echo LF,'CHECKING OLD DEFINITIONS' > >> allolddefs 1 > >> echo 'startup: have checked old definitions' > >> > >> This echo had not appeared in the jconsole/cmd.exe log. > >> Commenting out the call to "allolddefs" results in a successful load > >> of either > >> jconsole or jqt. > >> > >> Sorry - I thought I'd already tried disabling this call, but perhaps > >> I'd trusted > >> a J-supplied script! > >> > >> As it is, it appears to be unwise to check for "Old Definitions." > >> > >> Thanks for all the help, > >> > >> Mike > >> > >> > >> > >> On 22/05/2022 21:18, Raul Miller wrote: > >>> On Sun, May 22, 2022 at 2:59 PM 'Michael Day' via Beta > >>> <[email protected]> wrote: > >>>> Starting jconsole with admin privileges briefly shows a window which > >>>> then disappears. > >>> Try starting it from a command shell > >>> > >>> That way, the window will remain and any potential error message > >>> should be readable. > >>> > >>> Thanks, > >>> > >> > >> > > > > > > > -- > This email has been checked for viruses by Avast antivirus software. > https://www.avast.com/antivirus > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm > ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
