Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP
Demo ASP: syntax_error.asp 2015-03-27

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 036e3998a28a4684f48927c9bec790d9 with timeout 1427421525
  6. new session id 036e3998a28a4684f48927c9bec790d9
  7. creating dbm for file /tmp/asp_demo/03/036e3998a28a4684f48927c9bec790d9, db SDBM_File, serializer: Data::Dumper
  8. tieing session 036e3998a28a4684f48927c9bec790d9
  9. clearing starting session
  10. forcing groups cleanup
  11. testing internal time for cleanup groups
  12. current_master - Checked: 1427418438; PID: 2608; ServerID: a76041b864f64230; - is_master - 1
  13. 1427418445.5 time is stale, is_master 1 - Checked: 1427418438; PID: 2608; ServerID: a76041b864f64230;
  14. is_master 1 after update a76041b864f64230 - 2608
  15. groups - 0f; 05; 02; 01; 07; 09; 0e; 0c; 0d; 06; 04; 00; 08; 03; 0b; 0a
  16. group check 0f, next in 5 sec
  17. checking group ids -
  18. group check 05, next in 4 sec
  19. checking group ids - 05f4af1307682da4e7ffed5ee4262208
  20. resetting timeout for deletion lock on 05f4af1307682da4e7ffed5ee4262208
  21. creating dbm for file /tmp/asp_demo/05/05f4af1307682da4e7ffed5ee4262208, db SDBM_File, serializer: Data::Dumper
  22. Session_OnEnd - session: 05f4af1307682da4e7ffed5ee4262208;
  23. executing Session_OnEnd
  24. creating dbm for file /tmp/asp_demo/05/05f4af1307682da4e7ffed5ee4262208, db SDBM_File, serializer: Data::Dumper
  25. deleting session - files_deleted: 1; session_id: 05f4af1307682da4e7ffed5ee4262208;
  26. group check 02, next in 13 sec
  27. checking group ids -
  28. group check 01, next in 6 sec
  29. checking group ids -
  30. group check 07, next in 7 sec
  31. checking group ids -
  32. group check 09, next in 15 sec
  33. checking group ids -
  34. group check 0e, next in 18 sec
  35. checking group ids - 0e175455ace344d754b0eb519ebc7fee
  36. resetting timeout for deletion lock on 0e175455ace344d754b0eb519ebc7fee
  37. creating dbm for file /tmp/asp_demo/0e/0e175455ace344d754b0eb519ebc7fee, db SDBM_File, serializer: Data::Dumper
  38. Session_OnEnd - session: 0e175455ace344d754b0eb519ebc7fee;
  39. executing Session_OnEnd
  40. creating dbm for file /tmp/asp_demo/0e/0e175455ace344d754b0eb519ebc7fee, db SDBM_File, serializer: Data::Dumper
  41. deleting session - files_deleted: 1; session_id: 0e175455ace344d754b0eb519ebc7fee;
  42. group check 0c, next in 19 sec
  43. checking group ids -
  44. group check 0d, next in 29 sec
  45. checking group ids - 0dd62ad4c4c17e28fd03a29fcb294b22
  46. resetting timeout for 0dd62ad4c4c17e28fd03a29fcb294b22 to 1427421525
  47. group check 06, next in 20 sec
  48. checking group ids -
  49. group check 04, next in 13 sec
  50. checking group ids -
  51. group check 00, next in 12 sec
  52. checking group ids -
  53. group check 08, next in 24 sec
  54. checking group ids -
  55. group check 03, next in 13 sec
  56. checking group ids - 036e3998a28a4684f48927c9bec790d9
  57. 036e3998a28a4684f48927c9bec790d9 not timed out with 1427421525
  58. group check 0b, next in 11 sec
  59. checking group ids -
  60. group check 0a, next in 4 sec
  61. checking group ids -
  62. cleanup groups - deleted: 0;
  63. Application_OnEnd
  64. executing Application_OnEnd
  65. Application_OnStart
  66. executing Application_OnStart
  67. Session_OnStart - session: 036e3998a28a4684f48927c9bec790d9;
  68. executing Session_OnStart
  69. updating LastSessionTimeout from 1427418504
  70. parse file /usr/local/proj/asp/eg/syntax_error.asp
  71. parsing /usr/local/proj/asp/eg/syntax_error.asp
  72. found header.inc at /usr/local/proj/asp/eg/header.inc
  73. runtime exec of dynamic include header.inc args ()
  74. start parse of data - 1484
  75. undefing sub Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC code CODE(0x7f5eae8b1ed8)
  76. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC]
  77. register include /usr/local/proj/asp/eg/header.inc with success
  78. parse file /usr/local/proj/asp/eg/compile_error.inc
  79. parsing /usr/local/proj/asp/eg/compile_error.inc
  80. start parse of data - 116
  81. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f5eae8c3640)
  82. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC]
  83. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f5eae8c3640)
  84. register include compile_error.inc with error:
  85. Script_OnStart
  86. executing Script_OnStart
  87. [syntax_error.asp] - Script_OnStart /usr/local/proj/asp/eg/syntax_error.asp in global.asa
  88. executing Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC
  89. Script_OnFlush
  90. executing Script_OnFlush
  91. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  92. building headers
  93. sending cgi headers
  94. executing Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  95. Script_OnFlush
  96. executing Script_OnFlush
  97. [syntax_error.asp] - Script_OnFlush: about to flush 871 bytes to client
  98. Script_OnFlush
  99. executing Script_OnFlush
  100. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  101. done executing include code Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  102. Script_OnFlush
  103. executing Script_OnFlush
  104. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  105. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  106. Script_OnFlush
  107. executing Script_OnFlush
  108. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  109. Script_OnFlush
  110. executing Script_OnFlush
  111. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  112. 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
  113. ASP Done Processing Apache::ASP=HASH(0x7f5eadeb05b0) - Application: Apache::ASP::Application=HASH(0x7f5eae848f70); GlobalASA: Apache::ASP::GlobalASA=HASH(0x7f5eae849c00); Internal: Apache::ASP::State=HASH(0x7f5eae87dc30); Request: Apache::ASP::Request=HASH(0x7f5eae898d48); Response: Apache::ASP::Response=HASH(0x7f5eae8991f8); Server: Apache::ASP::Server=HASH(0x7f5eae898e50); Session: Apache::ASP::Session=HASH(0x7f5eae8a4018); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x7f5eae898c10); compile_checksum: 3864049467064319c46bd308cab557d6; compile_includes: 1; compile_perl_count: 2; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x7f5eae1458b8); destroy: 1; dir_config: APR::Table=HASH(0x7f5eae8370e0); dirname: /usr/local/proj/asp/eg/; errors_output: ARRAY(0x7f5eae86da58); 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(0x7f5eae849e70); includes_dir: ARRAY(0x7f5eae1456d8); init_packages: ARRAY(0x7f5eae899318); inode_names: ; internal_cached_keys: HASH(0x7f5eae8b2658); lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x7f5eae898fd0); last_compile_include_data: HASH(0x7f5eae8acb30); last_time: 1427421225.6627; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 2; pod_comments: 1; r: Apache2::RequestRec=SCALAR(0x7f5eade74e50); register_includes: HASH(0x7f5eae88eeb8); remote_ip: 54.145.148.66; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x7f5eadf1a740); search_dirs_cache: HASH(0x7f5eae8a4810); secure_session: ; session_count: 1; session_id: 036e3998a28a4684f48927c9bec790d9; 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: 1427421225.63339; 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: ;
  114. errors out
  115. 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.