CIRDLES / Squid

Squid3 is being developed by the Cyber Infrastructure Research and Development Lab for the Earth Sciences (CIRDLES.org) at the College of Charleston, Charleston, SC and Geoscience Australia as a re-implementation in Java of Ken Ludwig's Squid 2.5. - please contribute your expertise!
http://cirdles.org/projects/squid/
Apache License 2.0
12 stars 27 forks source link

SquidAPI Serializer Error #583

Closed RichardMcCarty1 closed 3 years ago

RichardMcCarty1 commented 3 years ago
org.cirdles.squid.exceptions.SquidException: 
Cannot serialize object of SquidLabData to: /root/Squid3 User Data/SquidLabData.ser

Attempting to spill SquidInk in a Docker container based on tomcat:9.0-jdk8 (Linux/amd64) returns the accompanying error message. All appropriate files are generated sans the .ser(s), and consecutive SquidAPI calls function appropriately but also invoke the same error message.

I attempted to change all references of System.getProperty("user.home") to our baseline /usr as well as /usr/local/user_files to circumvent the env variable and neither implementation avoided the error.

bowring commented 3 years ago

please clarify exact error after switching target directory - does it still refer to root? Can you write any file to /usr/local/user_files?

RichardMcCarty1 commented 3 years ago

I've actually troubleshot the error(s), the Squid3 User Data folder isn't being generated in any folder, regardless of the given path.

I tried changing the path constant to include underscores in case the white space wasn't being registered appropriately but the path still wouldn't generate.

I went into an individual container and generated a folder as a subdirectory of usr/local/user_files (based off squidCore on my own branch that replaces the system env with that same usr/local/user_files) and manually generated the directory with mkdir in CL and the .ser is actually generated and placed into the folder.

I don't know why the base folder isn't generated because I know we have a check for the data folder in which we generate it via mkdir if it doesn't exist but that's the next issue to investigate I suppose.

bowring commented 3 years ago

take a look at this method in squidCore for possible use of POSIX: public static File writeTextFileFromListOfStringsWithUnixLineEnd(List stringLine, String targetTextFileName, String extension)