Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP
Demo ASP: syntax_error.asp 2013-05-24

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. at /usr/local/proj/asp/eg/syntax_error.asp line 59 Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC() called at /usr/local/share/perl5/Apache/ASP.pm line 1518 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x7f053b4a3c38)', 'Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspx...') called at /usr/local/share/perl5/Apache/ASP.pm line 1480 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x7f053b4a3c38)') called at /usr/local/share/perl5/Apache/ASP.pm line 192 Apache::ASP::handler('Apache2::RequestRec=SCALAR(0x7f053b4c7930)') called at -e line 0 eval {...} called at -e line 0 , /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. global.asa was not cached for __ASP__usr_local_proj_asp_eg__xxApache::ASP::Demo
  4. compiling global.asa Apache::ASP::Demo __ASP__usr_local_proj_asp_eg__xxApache::ASP::Demo exists 1 - asp: Apache::ASP=HASH(0x7f053b4a3c38); compiled: HASH(0x7f053b4eb5f0); exists: 1; package: Apache::ASP::Demo; - --- - exists: 0; mtime: 0;
  5. global.asa routines - Application_OnEnd: 1; Application_OnStart: 1; Script_OnEnd: 1; Script_OnFlush: 1; Script_OnStart: 1; Session_OnEnd: 1; Session_OnStart: 1;
  6. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  7. creating dbm for file /tmp/asp_demo/server/application, db SDBM_File, serializer: Data::Dumper
  8. refreshing 039a79e6b9f503bcf89a619b1b0f58a1 with timeout 1369407409
  9. new session id 039a79e6b9f503bcf89a619b1b0f58a1
  10. creating dbm for file /tmp/asp_demo/03/039a79e6b9f503bcf89a619b1b0f58a1, db SDBM_File, serializer: Data::Dumper
  11. tieing session 039a79e6b9f503bcf89a619b1b0f58a1
  12. clearing starting session
  13. forcing groups cleanup
  14. testing internal time for cleanup groups
  15. current_master - Checked: 1369405837; PID: 30949; ServerID: 7b0955a0466d7077; - is_master - 0
  16. 1369405866 time is stale, is_master 0 - Checked: 1369405837; PID: 30949; ServerID: 7b0955a0466d7077;
  17. is_master 1 after update b678a7830218fcce - 30955
  18. groups - 0f; 05; 02; 01; 07; 09; 0e; 0c; 0d; 06; 04; 00; 08; 03; 0b; 0a
  19. group check 0f, next in 28 sec
  20. checking group ids -
  21. group check 05, next in 24 sec
  22. checking group ids -
  23. group check 02, next in 23 sec
  24. checking group ids -
  25. group check 01, next in 2 sec
  26. checking group ids -
  27. group check 07, next in 22 sec
  28. checking group ids -
  29. group check 09, next in 22 sec
  30. checking group ids -
  31. group check 0e, next in 19 sec
  32. checking group ids -
  33. group check 0c, next in 25 sec
  34. checking group ids -
  35. group check 0d, next in 30 sec
  36. checking group ids - 0dfce705e5d612124335ba398a6c9dc9
  37. resetting timeout for deletion lock on 0dfce705e5d612124335ba398a6c9dc9
  38. creating dbm for file /tmp/asp_demo/0d/0dfce705e5d612124335ba398a6c9dc9, db SDBM_File, serializer: Data::Dumper
  39. Session_OnEnd - session: 0dfce705e5d612124335ba398a6c9dc9;
  40. executing Session_OnEnd
  41. creating dbm for file /tmp/asp_demo/0d/0dfce705e5d612124335ba398a6c9dc9, db SDBM_File, serializer: Data::Dumper
  42. deleting session - files_deleted: 1; session_id: 0dfce705e5d612124335ba398a6c9dc9;
  43. group check 06, next in 29 sec
  44. checking group ids -
  45. group check 04, next in 29 sec
  46. checking group ids -
  47. group check 00, next in 26 sec
  48. checking group ids -
  49. group check 08, next in 16 sec
  50. checking group ids -
  51. group check 03, next in 25 sec
  52. checking group ids - 039a79e6b9f503bcf89a619b1b0f58a1
  53. 039a79e6b9f503bcf89a619b1b0f58a1 not timed out with 1369407409
  54. group check 0b, next in 29 sec
  55. checking group ids -
  56. group check 0a, next in 7 sec
  57. checking group ids -
  58. cleanup groups - deleted: 0;
  59. Application_OnEnd
  60. executing Application_OnEnd
  61. Application_OnStart
  62. executing Application_OnStart
  63. Session_OnStart - session: 039a79e6b9f503bcf89a619b1b0f58a1;
  64. executing Session_OnStart
  65. updating LastSessionTimeout from 1369406167
  66. parse file /usr/local/proj/asp/eg/syntax_error.asp
  67. parsing /usr/local/proj/asp/eg/syntax_error.asp
  68. found header.inc at /usr/local/proj/asp/eg/header.inc
  69. runtime exec of dynamic include header.inc args ()
  70. parse file /usr/local/proj/asp/eg/header.inc
  71. parsing /usr/local/proj/asp/eg/header.inc
  72. start parse of data - 1145
  73. undefing sub Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC code CODE(0x7f053b533528)
  74. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC]
  75. start parse of data - 1484
  76. undefing sub Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC code CODE(0x7f053b53ac60)
  77. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC]
  78. register include /usr/local/proj/asp/eg/header.inc with success
  79. parse file /usr/local/proj/asp/eg/compile_error.inc
  80. parsing /usr/local/proj/asp/eg/compile_error.inc
  81. start parse of data - 116
  82. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f053b53b8d8)
  83. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC]
  84. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f053b53b8d8)
  85. register include compile_error.inc with error:
  86. Script_OnStart
  87. executing Script_OnStart
  88. [syntax_error.asp] - Script_OnStart /usr/local/proj/asp/eg/syntax_error.asp in global.asa
  89. executing Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC
  90. Script_OnFlush
  91. executing Script_OnFlush
  92. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  93. building headers
  94. sending cgi headers
  95. executing Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  96. Script_OnFlush
  97. executing Script_OnFlush
  98. [syntax_error.asp] - Script_OnFlush: about to flush 871 bytes to client
  99. Script_OnFlush
  100. executing Script_OnFlush
  101. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  102. done executing include code Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  103. Script_OnFlush
  104. executing Script_OnFlush
  105. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  106. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  107. Script_OnFlush
  108. executing Script_OnFlush
  109. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  110. Script_OnFlush
  111. executing Script_OnFlush
  112. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  113. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. at /usr/local/proj/asp/eg/syntax_error.asp line 59 Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC() called at /usr/local/share/perl5/Apache/ASP.pm line 1518 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x7f053b4a3c38)', 'Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspx...') called at /usr/local/share/perl5/Apache/ASP.pm line 1480 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x7f053b4a3c38)') called at /usr/local/share/perl5/Apache/ASP.pm line 192 Apache::ASP::handler('Apache2::RequestRec=SCALAR(0x7f053b4c7930)') called at -e line 0 eval {...} called at -e line 0 , /usr/local/share/perl5/Apache/ASP.pm line 1522
  114. ASP Done Processing Apache::ASP=HASH(0x7f053b4a3c38) - Application: Apache::ASP::Application=HASH(0x7f053b4c7e40); GlobalASA: Apache::ASP::GlobalASA=HASH(0x7f053b4eb650); Internal: Apache::ASP::State=HASH(0x7f053b4c8488); Request: Apache::ASP::Request=HASH(0x7f053b4a3db8); Response: Apache::ASP::Response=HASH(0x7f053b4cbb00); Server: Apache::ASP::Server=HASH(0x7f053b4cb9e0); Session: Apache::ASP::Session=HASH(0x7f053b4c8518); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x7f053b4cbdb8); compile_checksum: 3864049467064319c46bd308cab557d6; compile_includes: 1; compile_perl_count: 3; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x7f053acf65f0); destroy: 1; dir_config: APR::Table=HASH(0x7f053b304508); dirname: /usr/local/proj/asp/eg/; errors_output: ARRAY(0x7f053b545518); 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(0x7f053b4c8128); includes_dir: ARRAY(0x7f053acf2b58); init_packages: ARRAY(0x7f053b4c82a8); inode_names: ; internal_cached_keys: HASH(0x7f053b529660); lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x7f053b4cbe30); last_compile_include_data: HASH(0x7f053b533678); last_time: 1369407110.0159; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 3; pod_comments: 1; r: Apache2::RequestRec=SCALAR(0x7f053b4c7930); register_includes: HASH(0x7f053b53ac48); remote_ip: 23.22.76.170; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x7f053b5335e8); search_dirs_cache: HASH(0x7f053b4fe300); secure_session: ; session_count: 1; session_id: 039a79e6b9f503bcf89a619b1b0f58a1; 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: 1369407109.9883; 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; use_strict: 1; win32: 0; xml_subs_match: my:\w+; xml_subs_perl_args: 1; xml_subs_strict: ; xslt: ;
  115. errors out
  116. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/asp/eg/syntax_error.asp line 59. at /usr/local/proj/asp/eg/syntax_error.asp line 59 Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC() called at /usr/local/share/perl5/Apache/ASP.pm line 1518 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x7f053b4a3c38)', 'Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspx...') called at /usr/local/share/perl5/Apache/ASP.pm line 1480 eval {...} called at /usr/local/share/perl5/Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x7f053b4a3c38)') called at /usr/local/share/perl5/Apache/ASP.pm line 192 Apache::ASP::handler('Apache2::RequestRec=SCALAR(0x7f053b4c7930)') called at -e line 0 eval {...} called at -e line 0 , /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.