vollt icon indicating copy to clipboard operation
vollt copied to clipboard

Web Application skeleton of tutorial may fail with NPE requesting votables

Open gmella opened this issue 4 years ago • 1 comments

Thank you for the nice tutorial and doc that help to setup a running vollt server. Once configured and deployed the Web Application Skeleton properly returned /tables but failed with queries requesting output in votables. CSV was fine.

I just replace the included jar by the ones generated by the build.gradle and everything run smoothly for basic votable queries.

Here is the stacktrace I get with the jar provided by the myfirsttap webapp :

2021-01-14 07:38:26.943	INFO	HTTP	REQUEST_RECEIVED	S1610609906943	POST as application/x-www-form-urlencoded at http://localhost:8008/vollt/tap/sync from 172.17.0.1 using TOPCAT/4.5 Java/1.8.0_275 with parameters (request=doQuery&query=SELECT * FROM oidb&lang=ADQL-2.0)
2021-01-14 07:38:26.944	INFO	JOB	START	S1610609906943	Synchronous job S1610609906943 is starting!
2021-01-14 07:38:26.944	INFO	THREAD	START	S1610609906943	Synchronous thread "S1610609906943" started.	S1610609906943 (thread ID: 46) is RUNNABLE in the group UWS_GROUP where 1 threads are active
2021-01-14 07:38:26.944	INFO	TAP	START_EXEC	S1610609906943	Synchronous execution of an ADQL query STARTED.	SYNC,duration=-1ms (upload=-1,parse=-1,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.944	INFO	TAP	PARSING	S1610609906943	Parsing ADQL: SELECT * FROM oidb	SYNC,duration=-1ms (upload=-1,parse=-1,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.946	INFO	TAP	START_DB_EXECUTION	S1610609906943	ADQL query: SELECT * FROM oidb	SYNC,duration=-1ms (upload=-1,parse=2,exec=-1,format[votable]=-1)
2021-01-14 07:38:26.947	INFO	DB	TRANSLATE	S1610609906943	Translating ADQL: SELECT * FROM oidb
2021-01-14 07:38:26.948	INFO	DB	EXECUTE	S1610609906943	SQL query: SELECT "public"."oidb"."access_estsize" AS "access_estsize","public"."oidb"."access_format" AS "access_format","public"."oidb"."access_md5" AS "access_md5","public"."oidb"."access_url" AS "access_url","public"."oidb"."bib_reference" AS "bib_reference","public"."oidb"."calib_level" AS "calib_level","public"."oidb"."datapi" AS "datapi","public"."oidb"."dataproduct_type" AS "dataproduct_type","public"."oidb"."data_rights" AS "data_rights","public"."oidb"."em_max" AS "em_max","public"."oidb"."em_min" AS "em_min","public"."oidb"."em_res_power" AS "em_res_power","public"."oidb"."facility_name" AS "facility_name","public"."oidb"."id" AS "id","public"."oidb"."instrument_mode" AS "instrument_mode","public"."oidb"."instrument_name" AS "instrument_name","public"."oidb"."interferometer_stations" AS "interferometer_stations","public"."oidb"."keywords" AS "keywords","public"."oidb"."nb_channels" AS "nb_channels","public"."oidb"."nb_t3" AS "nb_t3","public"."oidb"."nb_vis" AS "nb_vis","public"."oidb"."nb_vis2" AS "nb_vis2","public"."oidb"."obs_collection" AS "obs_collection","public"."oidb"."obs_creator_name" AS "obs_creator_name","public"."oidb"."obs_id" AS "obs_id","public"."oidb"."obs_publisher_did" AS "obs_publisher_did","public"."oidb"."obs_release_date" AS "obs_release_date","public"."oidb"."o_ucd" AS "o_ucd","public"."oidb"."pol_states" AS "pol_states","public"."oidb"."progid" AS "progid","public"."oidb"."quality_level" AS "quality_level","public"."oidb"."s_dec" AS "s_dec","public"."oidb"."s_fov" AS "s_fov","public"."oidb"."s_ra" AS "s_ra","public"."oidb"."s_region" AS "s_region","public"."oidb"."s_resolution" AS "s_resolution","public"."oidb"."subdate" AS "subdate","public"."oidb"."target_name" AS "target_name","public"."oidb"."t_exptime" AS "t_exptime","public"."oidb"."t_max" AS "t_max","public"."oidb"."t_min" AS "t_min","public"."oidb"."t_resolution" AS "t_resolution" FROM "public"."oidb"
2021-01-14 07:38:27.076	INFO	DB	RESULT	S1610609906943	Returning result (fetch size = 10000).
2021-01-14 07:38:27.076	INFO	TAP	END_DB_EXECUTION	S1610609906943	Query successfully executed in 130ms!	SYNC,duration=-1ms (upload=-1,parse=2,exec=-1,format[votable]=-1)
2021-01-14 07:38:27.076	INFO	TAP	WRITING_RESULT	S1610609906943	Writing the query result	SYNC,duration=-1ms (upload=-1,parse=2,exec=130,format[votable]=-1)
2021-01-14 07:38:27.078	FATAL	THREAD	END	S1610609906943	Synchronous thread "S1610609906943" ended with a FATAL error.	S1610609906943 (thread ID: 46) is RUNNABLE in the group UWS_GROUP where 1 threads are active
2021-01-14 07:38:27.078	FATAL	JOB	END	S1610609906943	The following GRAVE error interrupted the execution of the synchronous job S1610609906943.
Caused by a java.lang.NullPointerException
	at uk.ac.starlink.votable.VOSerializer.formatAttribute(VOSerializer.java:610)
	at tap.formatter.VOTableFormat.writeHeader(VOTableFormat.java:421)
	at tap.formatter.VOTableFormat.writeResult(VOTableFormat.java:352)
	at tap.ADQLExecutor.writeResult(ADQLExecutor.java:750)
	at tap.ADQLExecutor.writeResult(ADQLExecutor.java:679)
	at tap.ADQLExecutor.start(ADQLExecutor.java:392)
	at tap.ADQLExecutor.start(ADQLExecutor.java:303)
	at tap.TAPSyncJob$SyncThread.run(TAPSyncJob.java:410)
2021-01-14 07:38:27.079	ERROR	HTTP	RESPONSE_SENT	S1610609906943	TAP resource "sync" execution FAILED with the error: "java.lang.NullPointerException"!	HTTP-500 to the user ANONYMOUS as application/xml;charset=UTF-8

stil dependency update fixes the issue

Thanks for this nice piece of software! All the best for this new year,

gmella avatar Jan 14 '21 14:01 gmella