fmlorg / fml8

fml mailing list driver version 8 (master repository)
12 stars 3 forks source link

Use of uninitialized value $language in lc at Charset.pm line 254. #8

Open fV8YLsT opened 1 year ago

fV8YLsT commented 1 year ago

ブラウザでfml8 のcgi管理画面 https://hostname/~fml/cgi-bin/fml/admin/menu.cgi へ アクセスすると、ブラウザでは空白ページが表示され、Apacheのerror.log に以下のメッセージが記録されます。

23/06/21 12:18:08 menu.cgi[582919] log_file = /var/spool/ml/@log@
Use of uninitialized value $language in lc at /usr/local/fml/lib/fml/current-20220623/Mail/Message/Charset.pm line 254.
23/06/21 12:18:08 menu.cgi[582919] category=cgi charset=euc-jp
Use of uninitialized value in subroutine entry at (eval 30) line 5.

このエラーの原因と、対処方法について教えていただけないでしょうか。

以下、環境について記載します。 OS: Ubuntu 20.04.6 LTS Perl: This is perl 5, version 30, subversion 0 (v5.30.0) built for x86_64-linux-gnu-thread-multi (with 59 registered patches, see perl -V for more detail) fml: current-20220623

Charset.pm: $FML: Charset.pm,v 1.4 2004/02/26 12:59:07 fukachan Exp $

fV8YLsT commented 1 year ago

CGI実行時のログを追記します。

https://example.local/~fml/public_html/cgi-bin/fml/admin/menu.cgi にブラウザでアクセスしたとき /var/log/apache2/error.log に記録されるログ

23/07/06 17:14:25 menu.cgi[1525991] log_file = /var/spool/ml/virtual/example.local/@log@
Use of uninitialized value $language in lc at /usr/local/fml/lib/fml/current-20220623/Mail/Message/Charset.pm line 254.
23/07/06 17:14:25 menu.cgi[1525991] category=cgi charset=euc-jp
Use of uninitialized value in subroutine entry at (eval 30) line 5.

menu.cgiのデバッグ $ perl -d /example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi

Loading DB routines from perl5db.pl version 1.55
Editor support available.

Enter h or 'h h' for help, or 'man perldebug' for more help.

main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:10):
10:     eval 'exec /usr/bin/perl -S $0 ${1+"$@"}'
11:             if $running_under_some_shell;
  DB<1> n
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:18):
18:     $ENV{'PATH'} = '/bin:/usr/bin';
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:19):
19:     delete @ENV{'IFS', 'CDPATH', 'ENV', 'BASH_ENV'};
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:23):
23:     $ERROR_EXIT_CODE = 1;
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:27):
27:         my $prefix      = "/usr/local/fml";
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:27):
27:         my $prefix      = "/usr/local/fml";
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:28):
28:         my $exec_prefix = "${prefix}";
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:29):
29:         my $main_cf     = "${prefix}/etc/fml/main.cf";
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:33):
33:             $hints = {
34:                 cgi_mode  => 'admin',
35:                 ml_name   => 'jobhunter-support',
36:                 ml_domain => 'example.local',
  DB<1>
main::(/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:39):
39:         eval q{ Bootstrap($main_cf);};
  DB<1>
main::((eval 10)[/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:39]:1):
1:       Bootstrap($main_cf);
  DB<1>
23/07/06 18:15:55 menu.cgi[1529704] log_file = /var/spool/ml/virtual/example.local/@log@
Use of uninitialized value $language in lc at line 254.                                         # ここで、変数$languageが未初期化
 at /usr/local/fml/lib/fml/current-20220623/Mail/Message/Charset.pm line 254.
        Mail::Message::Charset::language_to_message_charset(Mail::Message::Charset=HASH(0x55ad1c7267d8), undef) called at /usr/local/fml/lib/fml/current-20220623/FML/Process/Utils.pm line 2121
        FML::Process::Utils::langinfo_get_charset(FML::CGI::Admin::MenuOld=HASH(0x55ad1a9be3b8), "cgi") called at /usr/local/fml/lib/fml/current-20220623/FML/Process/CGI/Kernel.pm line 105
        FML::Process::CGI::Kernel::prepare(FML::CGI::Admin::MenuOld=HASH(0x55ad1a9be3b8), HASH(0x55ad1a87f118)) called at /usr/local/fml/lib/fml/current-20220623/FML/Process/Flow.pm line 88
        FML::Process::Flow::ProcessStart("FML::CGI::Admin::MenuOld", HASH(0x55ad1a87f118)) called at (eval 21)[/usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm:188] line 3
        eval '
      use FML::Process::Flow;
      FML::Process::Flow::ProcessStart($obj, $args);
    ' called at /usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm line 188
        main::Bootstrap2("/usr/local/fml/etc/fml/main.cf", HASH(0x55ad1a83ac38)) called at (eval 11)[/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:133] line 1
        eval ' &Bootstrap2($main_cf_file, $main_cf);' called at /example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi line 133
        main::Bootstrap("/usr/local/fml/etc/fml/main.cf") called at (eval 10)[/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:39] line 1
        eval ' Bootstrap($main_cf);' called at /example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi line 39
23/07/06 18:15:55 menu.cgi[1529704] category=cgi charset=euc-jp
Window-Target: _top
Content-Type: text/html; charset=euc-jp

Use of uninitialized value in subroutine entry at (eval 34)[/usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm:230] line 5.
 at (eval 34)[/usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm:230] line 5.
        eval '
        use File::Spec;
        use FileHandle;
        my $dir  = $main_cf->{ ml_home_prefix };
        my $logf = File::Spec->catfile($dir, \'@log.crit@\');
        my $wh   = new FileHandle ">> $logf";
        if (defined $wh) {
            print $wh time, "\\t", $s, "\\n";
            $wh->close;
        }
    ' called at /usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm line 230
        FML::Process::Switch::__log(HASH(0x55ad1a931f88), "mkdir /var/spool/ml/virtual/example.local/\@tmp\@/var/db: Pe"...) called at (eval 33)[/usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm:198] line 1
        eval ' __log($main_cf, $reason);' called at /usr/local/fml/lib/fml/current-20220623/FML/Process/Switch.pm line 198
        main::Bootstrap2("/usr/local/fml/etc/fml/main.cf", HASH(0x55ad1a83ac38)) called at (eval 11)[/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:133] line 1
        eval ' &Bootstrap2($main_cf_file, $main_cf);' called at /example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi line 133
        main::Bootstrap("/usr/local/fml/etc/fml/main.cf") called at (eval 10)[/example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi:39] line 1
        eval ' Bootstrap($main_cf);' called at /example/fml/public_html/cgi-bin/fml/example.local/admin/menu.cgi line 39
Debugged program terminated.  Use q to quit or R to restart,
use o inhibit_exit to avoid stopping after program termination,
h q, h R or h o to get additional info.
  DB<1>
Use 'q' to quit or 'R' to restart.  'h q' for details.