Apache::ASP Powered by ModPerl & Apache Powered by Apache::ASP Links Checked by NodeWorks
Demo ASP: syntax_error.asp 2008-12-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/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9490fb8)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9490fb8)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x82c1cc0)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1522
Debug Output
  1. RUN ASP (v2.61) for /usr/local/proj/mlink/site/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_mlink_site_asp_eg__x00af84ec606339cdd7bd51c7f4b07c30xApache::ASP::Demo
  5. compiling global.asa Apache::ASP::Demo __ASP__usr_local_proj_mlink_site_asp_eg__x00af84ec606339cdd7bd51c7f4b07c30xApache::ASP::Demo exists 1 - asp: Apache::ASP=HASH(0x9490fb8); compiled: HASH(0x9487e7c); 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. loaded module MLDBM::Sync::SDBM_File
  8. creating dbm for file /tmp/asp_demo/server/internal, db SDBM_File, serializer: Data::Dumper
  9. creating dbm for file /tmp/asp_demo/server/application, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  10. refreshing 09957070555281b7a6e8844ee5d90e07 with timeout 1228449259
  11. new session id 09957070555281b7a6e8844ee5d90e07
  12. setting internal data for state 09957070555281b7a6e8844ee5d90e07 - state_db: MLDBM::Sync::SDBM_File; timeout: 1228449259;
  13. creating dbm for file /tmp/asp_demo/09/09957070555281b7a6e8844ee5d90e07, db MLDBM::Sync::SDBM_File, serializer: Data::Dumper
  14. tieing session 09957070555281b7a6e8844ee5d90e07
  15. clearing starting session
  16. Session_OnStart - session: 09957070555281b7a6e8844ee5d90e07;
  17. executing Session_OnStart
  18. parse file /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  19. parsing /usr/local/proj/mlink/site/asp/eg/syntax_error.asp
  20. found header.inc at /usr/local/proj/mlink/site/asp/eg/header.inc
  21. runtime exec of dynamic include header.inc args ()
  22. parse file /usr/local/proj/mlink/site/asp/eg/header.inc
  23. parsing /usr/local/proj/mlink/site/asp/eg/header.inc
  24. start parse of data - 1320
  25. undefing sub Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC code CODE(0x9bd5028)
  26. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC]
  27. start parse of data - 1495
  28. undefing sub Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC code CODE(0x9bd30ec)
  29. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC]
  30. no stat: found cached code for include __ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65
  31. register include /usr/local/proj/mlink/site/asp/eg/header.inc with success
  32. parse file /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  33. parsing /usr/local/proj/mlink/site/asp/eg/compile_error.inc
  34. start parse of data - 116
  35. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx3398efc765bb5a66b2ac11949789690fxINC code CODE(0x9bd62e4)
  36. compiling into package Apache::ASP::Demo subid [Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx3398efc765bb5a66b2ac11949789690fxINC]
  37. undefing sub Apache::ASP::Demo::__ASP_mlink_site_asp_eg_compile_error_incx3398efc765bb5a66b2ac11949789690fxINC code CODE(0x9bd62e4)
  38. register include compile_error.inc with error:
  39. Script_OnStart
  40. executing Script_OnStart
  41. [syntax_error.asp] - Script_OnStart /usr/local/proj/mlink/site/asp/eg/syntax_error.asp in global.asa
  42. executing Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC
  43. Script_OnFlush
  44. executing Script_OnFlush
  45. [syntax_error.asp] - Script_OnFlush: about to flush 1 bytes to client
  46. parsing session id into url query strings
  47. building headers
  48. sending cgi headers
  49. no stat: found cached code for include __ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65
  50. executing Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC
  51. Script_OnFlush
  52. executing Script_OnFlush
  53. [syntax_error.asp] - Script_OnFlush: about to flush 1036 bytes to client
  54. parsing session id into url query strings
  55. parsed session into ../asptitlelogo.gif?session-id=09957070555281b7a6e8844ee5d90e07
  56. parsed session into ../powered_by_modperl.gif?session-id=09957070555281b7a6e8844ee5d90e07
  57. parsed session into ../powered_by_apache_asp.jpg?session-id=09957070555281b7a6e8844ee5d90e07
  58. parsed session into ../nodecheck_button.gif?session-id=09957070555281b7a6e8844ee5d90e07
  59. Script_OnFlush
  60. executing Script_OnFlush
  61. [syntax_error.asp] - Script_OnFlush: about to flush 82 bytes to client
  62. parsing session id into url query strings
  63. done executing include code Apache::ASP::Demo::__ASP_l_proj_mlink_site_asp_eg_header_incxd015f1bb72646cb6d317d7b6c92a7a65xINC
  64. Script_OnFlush
  65. executing Script_OnFlush
  66. [syntax_error.asp] - Script_OnFlush: about to flush 537 bytes to client
  67. parsing session id into url query strings
  68. [syntax_error.asp] - Debugging - can; take - just: about; - any; kind - of reference - or scalar
  69. Script_OnFlush
  70. executing Script_OnFlush
  71. [syntax_error.asp] - Script_OnFlush: about to flush 77 bytes to client
  72. parsing session id into url query strings
  73. parsed session into syntax_error.asp?buffer=1&session-id=09957070555281b7a6e8844ee5d90e07
  74. Script_OnFlush
  75. executing Script_OnFlush
  76. [syntax_error.asp] - Script_OnFlush: about to flush 273 bytes to client
  77. parsing session id into url query strings
  78. parsed session into syntax_error.asp?compile_error=1&session-id=09957070555281b7a6e8844ee5d90e07
  79. parsed session into source.asp?file=/asp/eg/syntax_error.asp&session-id=09957070555281b7a6e8844ee5d90e07
  80. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9490fb8)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9490fb8)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x82c1cc0)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1522
  81. ASP Done Processing Apache::ASP=HASH(0x9490fb8) - Application: Apache::ASP::Application=HASH(0x87ec91c); GlobalASA: Apache::ASP::GlobalASA=HASH(0x9490fd0); Internal: Apache::ASP::State=HASH(0x8436274); Request: Apache::ASP::Request=HASH(0x9487ed0); Response: Apache::ASP::Response=HASH(0x8490014); Server: Apache::ASP::Server=HASH(0x8495bf4); Session: Apache::ASP::Session=HASH(0x87c4970); app_state: 1; basename: syntax_error.asp; cleanup: ARRAY(0x9491264); compile_checksum: bdd88f74fe4f31092daafb79c0cd3830; compile_error: ; compile_eval: ; compile_includes: 1; compile_perl_count: 3; cookie_domain: ; cookie_path: /; dbg: 3; debugs_output: ARRAY(0x9487f9c); destroy: 1; dir_config: Apache::Table=HASH(0x9487f54); dirname: /usr/local/proj/mlink/site/asp/eg/; errors_output: ARRAY(0x9bd69f0); errs: 1; filename: /usr/local/proj/mlink/site/asp/eg/syntax_error.asp; global: /usr/local/proj/mlink/site/asp/eg//.; global_package: Apache::ASP::Demo; group_refresh: 30; headers_in: Apache::Table=HASH(0x94912b8); includes_dir: ARRAY(0x9ac3040); init_packages: ARRAY(0x8495d08); inode_names: ; lang_comment: #; lang_language: PerlScript; lang_module: Apache::ASP::Lang::PerlScript; lang_object: Apache::ASP::Lang::PerlScript=HASH(0x9ace398); last_compile_include_data: HASH(0x9bd5034); last_time: 1228448959.5216; no_cache: ; package: Apache::ASP::Demo; paranoid_session: ; parse_config: 1; parse_file_count: 3; pod_comments: 1; r: Apache=SCALAR(0x82c1cc0); register_includes: HASH(0x9bd5118); remote_ip: 38.103.63.60; request_binary_read: 1; response_tied: 1; run_perl_script: SCALAR(0x9bd5088); search_dirs_cache: HASH(0x9bd3038); secure_session: ; session_count: 1; session_id: 09957070555281b7a6e8844ee5d90e07; session_serialize: ; session_state: 1; session_timeout: 300; session_url: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_force: ; session_url_match: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_parse: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); session_url_parse_match: ^(https://www\.nodeworks\.com|https://gate.corp.chamas.com); start_time: 1228448959.49058; stat_inc: 0; stat_inc_match: 0; stat_scripts: 0; state_db: MLDBM::Sync::SDBM_File; state_dir: /tmp/asp_demo; state_manager: 10; state_serialize: ; state_serializer: ; ua: CCBot/1.0 (+http://www.commoncrawl.org/bot.html); use_strict: 1; win32: 0; xml_subs_match: my:\w+; xml_subs_perl_args: 1; xml_subs_strict: ; xslt: ;
  82. errors out
  83. Can't call method "SyntaxError" on an undefined value at /usr/local/proj/mlink/site/asp/eg/syntax_error.asp line 59. Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b607a20ab9eeadb11ecaf12050f211xINC() called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1518 Apache::ASP::Execute('Apache::ASP=HASH(0x9490fb8)', 'Apache::ASP::Demo::__ASP__mlink_site_asp_eg_synta__error_aspx23b...') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1480 eval {...} called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1478 Apache::ASP::Run('Apache::ASP=HASH(0x9490fb8)') called at /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 192 Apache::ASP::handler('Apache=SCALAR(0x82c1cc0)') called at /dev/null line 0 eval {...} called at /dev/null line 0 , /usr/local/perl562/lib/site_perl/5.6.2//Apache/ASP.pm line 1522
ASP to Perl Script 

  -: use strict;;;use vars qw($Application $Session $Response $Server $Request);;
  -: #line 1 /usr/local/proj/mlink/site/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/mlink/site/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.