wbuchanan / brewscheme

Stata package for creating user-defined scheme files using research-based color palettes
http://wbuchanan.github.io/brewscheme
27 stars 9 forks source link

Brewcolors xkcd hangs indefinitely #54

Open lizalchemist opened 7 years ago

lizalchemist commented 7 years ago

Hi,

I'm still trying to successfully install brewcolors. I can get almost through the entire installation if I manually delete several subdirectories before trying (style, b, brewcolors, and brewuser and c:/ado/plus/) (I also need to manually delete c:/ado/plus/jar/brewterpolate.jar).

The one command that still hangs indefinitely is "brewcolors xkcd, make install replace". After the message "This program needs to clear all data currently in memory. If this is ok hit enter, otherwise enter the letter 'n' and hit enter to exit the program without clearing data from memory..", nothing happens no matter how many times I hit enter.

Here is the output from the trace, where I press exit to get out of the hang:

brewcolors_log.pdf

wbuchanan commented 7 years ago

@lizalchemist,

The log was opened on: 8 Dec 2016, 15:10:35 and closed on: 8 Dec 2016, 15:10:51. You gave the program roughly 20 seconds to download, parse, convert, and write approximately 5,000 files. Have you attempted waiting until the busy icon at the bottom of the Stata window is no longer spinning? There are something like 945ish named colors in the XKCD file. Each of those lines needs to be parsed into individual records, have the hexadecimal converted to the integer value to construct an RGB string, the RGB values are passed to Mata functions that handle returning each of the color sight impaired simulations for that color, then all 5 (the four color sight impaired and one original) colors are written to the disk, and the colors are added to a master look up file. There were no errors in the log file that I saw, but there was some user error:

This program needs to clear all data currently in memory. If this is ok hit enter, otherwise enter ...

Instead of following the on screen directions that get displayed, you entered:

 wcolors xkcd, make install replace
2 . brewcolors xkcd, make install replace
3 . brewcolors xkcd, make install replace
4 . brewcolors xkcd, make install replace
5 . brewcolors xkcd, make install replace
6 . exit, clear

So it likely did not progress any further because it was expecting the input displayed on the screen and continued waiting for a valid option until you hit the break button in the GUI.

wbuchanan commented 7 years ago

@lizalchemist Have you attempted this again but following the prompts displayed in the results window and did that resolve things?

lizalchemist commented 7 years ago

Sorry, I had created the log quickly to document what was going on, but before I had definitely let it hang for a while before exiting.

I have just tried the whole process again. Now, I get an error:

- javacall org.paces.Stata.StataFileSystem fileCreated, args("`file'" "`os'" "`display'")
= javacall org.paces.Stata.StataFileSystem fileCreated, args("c:\ado\plus/l/libbrewscheme.mlib" "Windoze" "")

java.lang.NoClassDefFoundError: org/paces/Stata/StataFileSystem Caused by: java.lang.ClassNotFoundException: org.paces.Stata.StataFileSystem at java.net.URLClassLoader$1.run(URLClassLoader.java:372) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:360) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) } ------------------------------------------------------------------------------------------------------------ end filesys --- if `r(creatednum)' < clock("15apr2016 00:00:00", "DMYhms") { qui: libbrewscheme, replace size(2048) } } --------------------------------------------------------------------------------------------------------- end brewlibcheck --- ------------------------------------------------------------------------------------------------------------- end brewcolors --- r(5100);

wbuchanan commented 7 years ago

@lizalchemist did you reinstall the package or something like that? If so, if you used an https end point for the installation it would spin up the JVM, which locks the CLASSPATH. There is an ado that gets installed with brewscheme that I use to test the modification date of some of the files so they can be updated based on testing against the distribution date. The error you ran into looks more like you may have deleted one of the java binaries at some point or modified the setting that Stata uses to identify the classpath.

lizalchemist commented 7 years ago

It's very possible. How would I restore the java binary or check to see if it exists?

wbuchanan commented 7 years ago

You could try reinstalling brewscheme by adding the replace option. You just need to make sure that the JVM hasn't already spun up or it will lock the classpath.

lizalchemist commented 7 years ago

Ok, for some reason it works when I ado uninstall, close STATA, hand delete the three files, start STATA, net inst brewscheme, close STATA, open STATA, then "brewcolors xkcd, make install replace"

This gets me back to where I started though. I've let it sit for 15 minutes, and there's no spinning wheel in the bottom corner. When I trace with a depth of 3, the last lines I get are:

- la var palette "Name of Color Palette"
- la var colorblind "Colorblind Indicator"
- la var print "Print Indicator"
- la var photocopy "Photocopy Indicator"
- la var lcd "LCD/Laptop Indicator"
- la var colorid "Within pcolor ID for individual color look ups"
- la var pcolor "Palette by Colors Selected ID"
- la var rgb "Red-Green-Blue Values to Build Scheme Files"
- la var maxcolors "Maximum number of colors allowed for the palette"
- la var seqid "Sequential ID for property lookups"
- la var meta "Meta-Data Palette Characteristics (see char _meta[*] for more info)"
- la var achromatopsia "Achromatopsic Vision RGB Transformed Equivalent"
- la var protanopia "Protanopic Vision RGB Transformed Equivalent"
- la var deuteranopia "Deuteranopic Vision RGB Transformed Equivalent"
- la var tritanopia "Tritanopic Vision RGB Transformed Equivalent"
------------------------------------------------------------------------------------------- end brewcolors.brewcolorvars ---
- qui: drop v1 tmpid
- qui: save `"`c(sysdir_personal)'brewcolors/brewxkcd.dta"', replace
= qui: save `"c:\ado\personal/brewcolors/brewxkcd.dta"', replace
- if `"`make'"' != "" brewColorMaker `c(sysdir_personal)'brewcolors/brewxkcd.dta, `replace' `override'
= if `"make"' != "" brewColorMaker c:\ado\personal/brewcolors/brewxkcd.dta, replace 
---------------------------------------------------------------------------------------- begin brewcolors.brewColorMaker ---
- syntax anything(name = filename id = "Colors to install") [, replace override ]
- cap confirm new file `"`c(sysdir_personal)'brewcolors/colordb.dta"'
= cap confirm new file `"c:\ado\personal/brewcolors/colordb.dta"'
- if _rc == 0 | `"`replace'"' != "" {
= if _rc == 0 | `"replace"' != "" {
- brewcolordb, `replace' `override'
= brewcolordb, replace 
This program needs to clear all data currently in memory. If this is ok hit enter, otherwise enter the letter 'n' and hit enter 
 > to exit the program without clearing data from memory.. 
 . 
 . 
wbuchanan commented 7 years ago

@lizalchemist I'm not sure what else to suggest. I can't tell if you potentially have a slower internet connection, a bogged down computer, or if the package just doesn't like something on your system. Do you get the same issue if you try to install on a different machine?

lizalchemist commented 7 years ago

My coworker just got another Java compiler error when he tried from scratch, but he won't let me mess around with his computer long enough to try to simulate my same issue.

I might just give up. Thanks for trying.

wbuchanan commented 7 years ago

@lizalchemist can you tell me what error your coworker got? And does your network team have any sites that they restrict access to or throttle access to specific domains?

lizalchemist commented 7 years ago

He says he got an error saying his Java is too new (he updated it last week).

I haven't heard of our network blocking access to any domains

I don't know if this helps, but when I hit the 'x', I get this:

exit, clear qui: use "c(sysdir_personal)'brewcolors/colordb.dta"', clear qui: append using "filename'"' qui: duplicates drop qui: save "c(sysdir_personal)'brewcolors/colordb.dta"', replace } ------------------------------------------------------------------------------------------ end brewcolors.brewColorMaker --- ------------------------------------------------------------------------------------------------------ end brewcolors.xkcd --- foreach nm in r(colnms)' { ret locnm' r(nm')' } } ------------------------------------------------------------------------------------------------------------- end brewcolors --- --Break-- r(1);

wbuchanan commented 7 years ago

@lizalchemist I'll try checking this out again on a machine at work. My guess is that it might be something Windows specific which limits my ability to track things down and figure out where/what is breaking.