Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP
Demo ASP: syntax_error.asp 2014-09-23

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. call srand() post fork
  3. GlobalASA package Apache::ASP::Demo
  4. global.asa was not cached for __ASP__usr_local_proj_asp_eg__xxApache::ASP::Demo
  5. compiling global.asa Apache::ASP::Demo __ASP__usr_local_proj_asp_eg__xxApache::ASP::Demo exists 1 - asp: Apache::ASP=HASH(0x7f768c47f318); compiled: HASH(0x7f768c4181a0); exists: 1; package: Apache::ASP::Demo; - --- - exists: 0; mtime: 0;
  6. global.asa routines - Application_OnEnd: 1; Application_OnStart: 1; Script_OnEnd: 1; Script_OnFlush: 1; Script_OnStart: 1; Session_OnEnd: 1; Session_OnStart: 1;
  7. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  8. creating dbm for file /tmp/asp_demo/server/application, db SDBM_File, serializer: Data::Dumper
  9. refreshing 09cff8d5411ef350220e81982904b431 with timeout 1411482298
  10. new session id 09cff8d5411ef350220e81982904b431
  11. creating dbm for file /tmp/asp_demo/09/09cff8d5411ef350220e81982904b431, db SDBM_File, serializer: Data::Dumper
  12. tieing session 09cff8d5411ef350220e81982904b431
  13. clearing starting session
  14. forcing groups cleanup
  15. testing internal time for cleanup groups
  16. current_master - Checked: 1411481095; PID: 24695; ServerID: feb0f8d25d9deeb5; - is_master - 0
  17. 1411481124 time is stale, is_master 0 - Checked: 1411481095; PID: 24695; ServerID: feb0f8d25d9deeb5;
  18. is_master 1 after update 0c7014150b682090 - 24747
  19. groups - 0f; 05; 02; 01; 07; 09; 0e; 0c; 0d; 06; 04; 00; 08; 03; 0b; 0a
  20. group check 0f, next in 25 sec
  21. checking group ids -
  22. group check 05, next in 27 sec
  23. checking group ids -
  24. group check 02, next in 27 sec
  25. checking group ids -
  26. group check 01, next in 30 sec
  27. checking group ids -
  28. group check 07, next in 23 sec
  29. checking group ids -
  30. group check 09, next in 3 sec
  31. checking group ids - 09cff8d5411ef350220e81982904b431
  32. 09cff8d5411ef350220e81982904b431 not timed out with 1411482298
  33. group check 0e, next in 10 sec
  34. checking group ids - 0e175455ace344d754b0eb519ebc7fee; 0ef3c1b5a4961ed44f3d0e3f997b748a
  35. resetting timeout for deletion lock on 0e175455ace344d754b0eb519ebc7fee
  36. creating dbm for file /tmp/asp_demo/0e/0e175455ace344d754b0eb519ebc7fee, db SDBM_File, serializer: Data::Dumper
  37. Session_OnEnd - session: 0e175455ace344d754b0eb519ebc7fee;
  38. executing Session_OnEnd
  39. creating dbm for file /tmp/asp_demo/0e/0e175455ace344d754b0eb519ebc7fee, db SDBM_File, serializer: Data::Dumper
  40. deleting session - files_deleted: 1; session_id: 0e175455ace344d754b0eb519ebc7fee;
  41. resetting timeout for deletion lock on 0ef3c1b5a4961ed44f3d0e3f997b748a
  42. creating dbm for file /tmp/asp_demo/0e/0ef3c1b5a4961ed44f3d0e3f997b748a, db SDBM_File, serializer: Data::Dumper
  43. Session_OnEnd - session: 0ef3c1b5a4961ed44f3d0e3f997b748a;
  44. executing Session_OnEnd
  45. creating dbm for file /tmp/asp_demo/0e/0ef3c1b5a4961ed44f3d0e3f997b748a, db SDBM_File, serializer: Data::Dumper
  46. deleting session - files_deleted: 1; session_id: 0ef3c1b5a4961ed44f3d0e3f997b748a;
  47. group check 0c, next in 14 sec
  48. checking group ids - 0c456dfbae4afa91883203480fd95f1d
  49. resetting timeout for deletion lock on 0c456dfbae4afa91883203480fd95f1d
  50. creating dbm for file /tmp/asp_demo/0c/0c456dfbae4afa91883203480fd95f1d, db SDBM_File, serializer: Data::Dumper
  51. Session_OnEnd - session: 0c456dfbae4afa91883203480fd95f1d;
  52. executing Session_OnEnd
  53. creating dbm for file /tmp/asp_demo/0c/0c456dfbae4afa91883203480fd95f1d, db SDBM_File, serializer: Data::Dumper
  54. deleting session - files_deleted: 1; session_id: 0c456dfbae4afa91883203480fd95f1d;
  55. group check 0d, next in 25 sec
  56. checking group ids -
  57. group check 06, next in 1 sec
  58. checking group ids -
  59. group check 04, next in 6 sec
  60. checking group ids -
  61. group check 00, next in 23 sec
  62. checking group ids -
  63. group check 08, next in 7 sec
  64. checking group ids - 088398f33246ea6c7593cb27bd1525dc
  65. resetting timeout for deletion lock on 088398f33246ea6c7593cb27bd1525dc
  66. creating dbm for file /tmp/asp_demo/08/088398f33246ea6c7593cb27bd1525dc, db SDBM_File, serializer: Data::Dumper
  67. Session_OnEnd - session: 088398f33246ea6c7593cb27bd1525dc;
  68. executing Session_OnEnd
  69. creating dbm for file /tmp/asp_demo/08/088398f33246ea6c7593cb27bd1525dc, db SDBM_File, serializer: Data::Dumper
  70. deleting session - files_deleted: 1; session_id: 088398f33246ea6c7593cb27bd1525dc;
  71. group check 03, next in 20 sec
  72. checking group ids -
  73. group check 0b, next in 4 sec
  74. checking group ids -
  75. group check 0a, next in 13 sec
  76. checking group ids -
  77. cleanup groups - deleted: 0;
  78. Application_OnEnd
  79. executing Application_OnEnd
  80. Application_OnStart
  81. executing Application_OnStart
  82. Session_OnStart - session: 09cff8d5411ef350220e81982904b431;
  83. executing Session_OnStart
  84. updating LastSessionTimeout from 1411481425
  85. parse file /usr/local/proj/asp/eg/syntax_error.asp
  86. parsing /usr/local/proj/asp/eg/syntax_error.asp
  87. found header.inc at /usr/local/proj/asp/eg/header.inc
  88. runtime exec of dynamic include header.inc args ()
  89. parse file /usr/local/proj/asp/eg/header.inc
  90. parsing /usr/local/proj/asp/eg/header.inc
  91. start parse of data - 1145
  92. undefing sub Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC code CODE(0x7f768cb57cf0)
  93. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC]
  94. start parse of data - 1484
  95. undefing sub Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC code CODE(0x7f768cb57e28)
  96. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC]
  97. register include /usr/local/proj/asp/eg/header.inc with success
  98. parse file /usr/local/proj/asp/eg/compile_error.inc
  99. parsing /usr/local/proj/asp/eg/compile_error.inc
  100. start parse of data - 116
  101. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f768cb6ae00)
  102. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC]
  103. undefing sub Apache::ASP::Demo::__ASP_local_proj_asp_eg_compile_error_incx570fffd12d34e55bd9a18f2cde319a64xINC code CODE(0x7f768cb6ae00)
  104. register include compile_error.inc with error:
  105. Script_OnStart
  106. executing Script_OnStart
  107. [syntax_error.asp] - Script_OnStart /usr/local/proj/asp/eg/syntax_error.asp in global.asa
  108. executing Apache::ASP::Demo::__ASP__local_proj_asp_eg_synta__error_aspxf2f778798549d60d1f68fc363c612db1xINC
  109. Script_OnFlush
  110. executing Script_OnFlush
  111. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  112. building headers
  113. sending cgi headers
  114. executing Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  115. Script_OnFlush
  116. executing Script_OnFlush
  117. [syntax_error.asp] - Script_OnFlush: about to flush 871 bytes to client
  118. Script_OnFlush
  119. executing Script_OnFlush
  120. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  121. done executing include code Apache::ASP::Demo::__ASP__usr_local_proj_asp_eg_header_incx3864049467064319c46bd308cab557d6xINC
  122. Script_OnFlush
  123. executing Script_OnFlush
  124. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  125. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  126. Script_OnFlush
  127. executing Script_OnFlush
  128. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  129. Script_OnFlush
  130. executing Script_OnFlush
  131. [syntax_error.asp] - Script_OnFlush: about to flush 269 bytes to client
  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
  133. ASP Done Processing Apache::ASP=HASH(0x7f768c47f318) - Application: Apache::ASP::Application=HASH(0x7f768cac0c70); GlobalASA: Apache::ASP::GlobalASA=HASH(0x7f768c418818); Internal: Apache::ASP::State=HASH(0x7f768ca6a088); Request: Apache::ASP::Request=HASH(0x7f768cb232c8); Response: Apache::ASP::Response=HASH(0x7f768cb22fe0); Server: Apache::ASP::Server=HASH(0x7f768cb230e8); Session: Apache::ASP::Session=HASH(0x7f768caa3a60); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x7f768c1efae0); compile_checksum: 3864049467064319c46bd308cab557d6; compile_includes: 1; compile_perl_count: 3; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x7f768c418b60); destroy: 1; dir_config: APR::Table=HASH(0x7f768c16c380); dirname: /usr/local/proj/asp/eg/; errors_output: ARRAY(0x7f768cb6b370); 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(0x7f768c16c2d8); includes_dir: ARRAY(0x7f768c47f330); init_packages: ARRAY(0x7f768cb22de8); inode_names: ; internal_cached_keys: HASH(0x7f768cb53100); lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x7f768c454f18); last_compile_include_data: HASH(0x7f768cb57e10); last_time: 1411481998.9734; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 3; pod_comments: 1; r: Apache2::RequestRec=SCALAR(0x7f768c16c350); register_includes: HASH(0x7f768cb57df8); remote_ip: 107.20.25.215; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x7f768cb57d98); search_dirs_cache: HASH(0x7f768cb1ed08); secure_session: ; session_count: 1; session_id: 09cff8d5411ef350220e81982904b431; 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: 1411481998.94004; 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: ;
  134. errors out
  135. 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.