Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Web Application skeleton of tutorial may fail with NPE requesting votables #126

Open
gmella opened this issue Jan 14, 2021 · 1 comment
Open
Assignees

Comments

@gmella
Copy link

gmella commented Jan 14, 2021

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,

@gmantele
Copy link
Owner

The skeleton provided on the website seems to not contain the last version of TAP-Lib. Thanks for reporting this problem.

If you get the sources from the branch master on GitHub, this is perfectly normal as the version on GitHub is not the last stable official release. If not, there is indeed an issue.

I'll have to release a new version of TAPLib anyway in the following months (just to cover the last bug fixes and in preparation for TAP-1.1 implementation). Then I think I'll fix the skeleton at that moment.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants