Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP
Demo ASP: syntax_error.asp 2016-07-29

We are creating a perl syntax error... this should demonstrate how error handling is done. Please check the error log file if you are interested in the output there.

You can turn this error messaging off by setting the Debug variable in the ASP config to 1 or 0.

Also here is an example of how you can use debugging, an API extension $Response->Debug(@args), in your script. The debug output will show up below, and in your error logs. This user style debugging is turned off with the same Debug setting set to 0.

Try this script also with buffering on.

This script by default does a runtime syntax error. If you would like to see a script compile error, click here.

view this file's source

Errors Output

  1. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
Debug Output
  1. RUN ASP (v2.62) for /usr/local/proj/asp/eg/syntax_error.asp
  2. GlobalASA package Apache::ASP::Demo
  3. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  4. creating dbm for file /tmp/asp_demo/server/application, db SDBM_File, serializer: Data::Dumper
  5. refreshing 071d0f3169b42457ee1d3ba1748429a3 with timeout 1469758037
  6. new session id 071d0f3169b42457ee1d3ba1748429a3
  7. creating dbm for file /tmp/asp_demo/07/071d0f3169b42457ee1d3ba1748429a3, db SDBM_File, serializer: Data::Dumper
  8. tieing session 071d0f3169b42457ee1d3ba1748429a3
  9. clearing starting session
  10. forcing groups cleanup
  11. testing internal time for cleanup groups
  12. current_master - Checked: 1469756854; PID: 15305; ServerID: 678feb4a50310742; - is_master - 0
  13. 1469756873 time is stale, is_master 0 - Checked: 1469756854; PID: 15305; ServerID: 678feb4a50310742;
  14. is_master 1 after update ae693efb8b428b78 - 15276
  15. groups - 0f; 05; 02; 01; 07; 09; 0e; 0c; 0d; 06; 04; 00; 08; 03; 0b; 0a
  16. group check 0f, next in 12 sec
  17. checking group ids -
  18. group check 05, next in 17 sec
  19. checking group ids - 050d901522d93ed6c19827f76611b41d
  20. resetting timeout for deletion lock on 050d901522d93ed6c19827f76611b41d
  21. creating dbm for file /tmp/asp_demo/05/050d901522d93ed6c19827f76611b41d, db SDBM_File, serializer: Data::Dumper
  22. Session_OnEnd - session: 050d901522d93ed6c19827f76611b41d;
  23. executing Session_OnEnd
  24. creating dbm for file /tmp/asp_demo/05/050d901522d93ed6c19827f76611b41d, db SDBM_File, serializer: Data::Dumper
  25. deleting session - files_deleted: 1; session_id: 050d901522d93ed6c19827f76611b41d;
  26. group check 02, next in 21 sec
  27. checking group ids - 02e274026dcd48c8cd9741fecc853ae1
  28. resetting timeout for deletion lock on 02e274026dcd48c8cd9741fecc853ae1
  29. creating dbm for file /tmp/asp_demo/02/02e274026dcd48c8cd9741fecc853ae1, db SDBM_File, serializer: Data::Dumper
  30. Session_OnEnd - session: 02e274026dcd48c8cd9741fecc853ae1;
  31. executing Session_OnEnd
  32. creating dbm for file /tmp/asp_demo/02/02e274026dcd48c8cd9741fecc853ae1, db SDBM_File, serializer: Data::Dumper
  33. deleting session - files_deleted: 1; session_id: 02e274026dcd48c8cd9741fecc853ae1;
  34. group check 01, next in 9 sec
  35. checking group ids -
  36. group check 07, next in 15 sec
  37. checking group ids - 071d0f3169b42457ee1d3ba1748429a3
  38. 071d0f3169b42457ee1d3ba1748429a3 not timed out with 1469758037
  39. group check 09, next in 25 sec
  40. checking group ids -
  41. group check 0e, next in 18 sec
  42. checking group ids -
  43. group check 0c, next in 27 sec
  44. checking group ids -
  45. group check 0d, next in 9 sec
  46. checking group ids -
  47. group check 06, next in 10 sec
  48. checking group ids -
  49. group check 04, next in 7 sec
  50. checking group ids - 04afb8ed6a61a62fe9b9757d273b749c
  51. resetting timeout for deletion lock on 04afb8ed6a61a62fe9b9757d273b749c
  52. creating dbm for file /tmp/asp_demo/04/04afb8ed6a61a62fe9b9757d273b749c, db SDBM_File, serializer: Data::Dumper
  53. Session_OnEnd - session: 04afb8ed6a61a62fe9b9757d273b749c;
  54. executing Session_OnEnd
  55. creating dbm for file /tmp/asp_demo/04/04afb8ed6a61a62fe9b9757d273b749c, db SDBM_File, serializer: Data::Dumper
  56. deleting session - files_deleted: 1; session_id: 04afb8ed6a61a62fe9b9757d273b749c;
  57. group check 00, next in 23 sec
  58. checking group ids -
  59. group check 08, next in 30 sec
  60. checking group ids - 08fc57d3bf52a318d6e22641bfa4328a
  61. resetting timeout for deletion lock on 08fc57d3bf52a318d6e22641bfa4328a
  62. creating dbm for file /tmp/asp_demo/08/08fc57d3bf52a318d6e22641bfa4328a, db SDBM_File, serializer: Data::Dumper
  63. Session_OnEnd - session: 08fc57d3bf52a318d6e22641bfa4328a;
  64. executing Session_OnEnd
  65. creating dbm for file /tmp/asp_demo/08/08fc57d3bf52a318d6e22641bfa4328a, db SDBM_File, serializer: Data::Dumper
  66. deleting session - files_deleted: 1; session_id: 08fc57d3bf52a318d6e22641bfa4328a;
  67. group check 03, next in 4 sec
  68. checking group ids -
  69. group check 0b, next in 23 sec
  70. checking group ids -
  71. group check 0a, next in 28 sec
  72. checking group ids - 0a6dbdc27179a6044c9e76a466fdebda
  73. resetting timeout for deletion lock on 0a6dbdc27179a6044c9e76a466fdebda
  74. creating dbm for file /tmp/asp_demo/0a/0a6dbdc27179a6044c9e76a466fdebda, db SDBM_File, serializer: Data::Dumper
  75. Session_OnEnd - session: 0a6dbdc27179a6044c9e76a466fdebda;
  76. executing Session_OnEnd
  77. creating dbm for file /tmp/asp_demo/0a/0a6dbdc27179a6044c9e76a466fdebda, db SDBM_File, serializer: Data::Dumper
  78. deleting session - files_deleted: 1; session_id: 0a6dbdc27179a6044c9e76a466fdebda;
  79. cleanup groups - deleted: 1;
  80. Application_OnEnd
  81. executing Application_OnEnd
  82. Application_OnStart
  83. executing Application_OnStart
  84. Session_OnStart - session: 071d0f3169b42457ee1d3ba1748429a3;
  85. executing Session_OnStart
  86. updating LastSessionTimeout from 1469757184
  87. parse file /usr/local/proj/asp/eg/syntax_error.asp
  88. parsing /usr/local/proj/asp/eg/syntax_error.asp
  89. found header.inc at /usr/local/proj/asp/eg/header.inc
  90. runtime exec of dynamic include header.inc args ()
  91. start parse of data - 1484
  92. undefing sub Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC code CODE(0x7f3758702498)
  93. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC]
  94. register include /usr/local/proj/asp/eg/header.inc with success
  95. parse file /usr/local/proj/asp/eg/compile_error.inc
  96. parsing /usr/local/proj/asp/eg/compile_error.inc
  97. start parse of data - 116
  98. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f3758776070)
  99. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC]
  100. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f3758776070)
  101. register include compile_error.inc with error:
  102. Script_OnStart
  103. executing Script_OnStart
  104. [syntax_error.asp] - Script_OnStart /usr/local/proj/asp/eg/syntax_error.asp in global.asa
  105. executing Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC
  106. Script_OnFlush
  107. executing Script_OnFlush
  108. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  109. building headers
  110. sending cgi headers
  111. executing Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  112. Script_OnFlush
  113. executing Script_OnFlush
  114. [syntax_error.asp] - Script_OnFlush: about to flush 871 bytes to client
  115. Script_OnFlush
  116. executing Script_OnFlush
  117. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  118. done executing include code Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  119. Script_OnFlush
  120. executing Script_OnFlush
  121. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  122. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  123. Script_OnFlush
  124. executing Script_OnFlush
  125. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  126. Script_OnFlush
  127. executing Script_OnFlush
  128. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  129. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
  130. ASP Done Processing Apache::ASP=HASH(0x7f3757d34ac8) - Application: Apache::ASP::Application=HASH(0x7f375875fc90); GlobalASA: Apache::ASP::GlobalASA=HASH(0x7f3758760a70); Internal: Apache::ASP::State=HASH(0x7f375870e930); Request: Apache::ASP::Request=HASH(0x7f3758760b78); Response: Apache::ASP::Response=HASH(0x7f3758776238); Server: Apache::ASP::Server=HASH(0x7f375871a468); Session: Apache::ASP::Session=HASH(0x7f375871a588); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x7f375869bb98); compile_checksum: 3864049467064319c46bd308cab557d6; compile_includes: 1; compile_perl_count: 2; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x7f3758714530); destroy: 1; dir_config: APR::Table=HASH(0x7f3758744e20); dirname: /usr/local/proj/asp/eg/; errors_output: ARRAY(0x7f3758744dc0); errs: 1; filename: /usr/local/proj/asp/eg/syntax_error.asp; global: /usr/local/proj/asp/eg//.; global_package: Apache::ASP::Demo; group_refresh: 30; headers_in: APR::Table=HASH(0x7f3758760308); includes_dir: ARRAY(0x7f3758715190); init_packages: ARRAY(0x7f375871a900); inode_names: ; internal_cached_keys: HASH(0x7f3758776148); lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x7f3758738ec0); last_compile_include_data: HASH(0x7f375874b888); last_time: 1469757737.1537; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 2; pod_comments: 1; r: Apache2::RequestRec=SCALAR(0x7f3758760410); register_includes: HASH(0x7f375871a648); remote_ip: 54.198.232.79; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x7f3758739340); search_dirs_cache: HASH(0x7f3758775920); secure_session: ; session_count: 1; session_id: 071d0f3169b42457ee1d3ba1748429a3; session_serialize: ; session_state: 1; session_timeout: 300; session_url: 1; session_url_force: ; session_url_match: ; session_url_parse: 0; session_url_parse_match: ; start_time: 1469757737.09401; stat_inc: 0; stat_inc_match: 0; stat_scripts: 1; state_db: ; state_dir: /tmp/asp_demo; state_manager: 10; state_serialize: ; state_serializer: ; ua: CCBot/2.0 (http://commoncrawl.org/faq/); use_strict: 1; win32: 0; xml_subs_match: my:\w+; xml_subs_perl_args: 1; xml_subs_strict: ; xslt: ;
  131. errors out
  132. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. , /usr/local/share/perl5/Apache/ASP.pm line 1522
ASP to Perl Script 

  -: use strict;;;use vars qw($Application $Session $Response $Server $Request);;
  -: #line 1 /usr/local/proj/asp/eg/syntax_error.asp
  1: ;;
  2: 
  3: ;  
  4: use File::Basename;
  5: if($Request->QueryString('buffer')) {
  6: 	$Response->{Buffer} = 1;
  7: } else {
  8: 	$Response->{Buffer} = 0; 
  9: }
 10: ; &Apache::ASP::WriteRef($main::Response, \('
 11: ')); $Response->Include('/usr/local/proj/asp/eg/header.inc', ); ; &Apache::ASP::WriteRef($main::Response, \('
 12: We are creating a perl syntax error... this should demonstrate 
 13: how error handling is done.  Please check the error log file if 
 14: you are interested in the output there.
 15: <p>
 16: You can turn this error messaging off by setting the Debug variable
 17: in the ASP config to 1 or 0.
 18: <p>
 19: Also here is an example of how you can use debugging, an API
 20: extension $Response->Debug(@args), in your script.  The debug 
 21: output will show up below, and in your error logs.  This user 
 22: style debugging is turned off with the same Debug setting set to 0.
 23: <p>
 24: 
 25: 
 26: 
 27: ')); 
 28:    $Response->Debug(
 29: 	"Debugging", 
 30: 	['can', 'take'], 
 31: 	{'just'=>'about'},
 32: 	sub { ['any', 'kind']},
 33: 	\"of reference",
 34: 	"or scalar"
 35: 	);
 36: 
 37:    print "Try this script also with <a href=".basename($0)."?buffer=1>buffering on.</a>";
 38: ; &Apache::ASP::WriteRef($main::Response, \('
 39: 
 40: <p>
 41: 
 42: This script by default does a runtime syntax error.  If you would like
 43: to see a script <b>compile error, <a href="'.( basename($0) ).'?compile_error=1">click here</a></b>.
 44: 
 45: <p>
 46: <a href="source.asp?file='.($Request->ServerVariables("SCRIPT_NAME")).'">
 47: view this file\'s source
 48: </a>
 49: 
 50: <br>
 51: <br>
 52: 
 53: ')); 
 54: if($Request->QueryString('compile_error')) {
 55:   $Response->Include("compile_error.inc");
 56: } else {
 57:         my $Object;
 58: 	# create a run-time syntax error
 59: 	$Object->SyntaxError(); 
 60: }
 61: ; &Apache::ASP::WriteRef($main::Response, \('
 62: 
 63: 
 64: 
 65: 
 66: 
 67: 
 68: 
 69: 
 70: 
 71: 
 72: 
 73: 
 74: Misc Text Below Error'));


An error has occured with the Apache::ASP script just run. If you are the developer working on this script, and cannot work through this problem, please try researching it at the Apache::ASP web site, specifically the FAQ section. Failing that, check out your support options, and if necessary include this debug output with any query.