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

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