トップ «前の日記(2014-10-04) 最新 次の日記(2014-10-06)» 編集

ヨタの日々

2001|08|09|10|11|12|
2002|01|02|03|04|05|06|07|08|09|10|11|12|
2003|01|02|03|04|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|06|07|08|09|10|11|12|
2013|01|02|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|08|09|10|11|12|
2016|01|02|03|04|05|06|07|08|09|10|11|12|
2017|01|02|03|04|05|06|07|08|09|10|11|12|
2018|01|02|03|04|05|06|07|08|09|10|11|12|
2019|01|02|03|04|05|06|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|12|
2024|01|02|03|

2014-10-05 :-)

_ 午前

1100 起床

1200 おひる

_ 午後

1300 部屋掃除 && 技術書とかラノベとか書類とか捨てたり

1500 アニメ消化

_

1700 アニメ消化

2100 飯。ブリの塩焼き

_ [wiki][fswiki]fswiki が Lock is busy と言っている

FreeStyleWiki

いわゆる wiki ファームとして利用しているん。

ある wiki のページにアクセスすると怒られて、別のある wiki は怒られない。

Software Error:

Lock is busy. at plugin/core/ShowPage.pm line 68. at lib/Util.pm line 708. 

結局アクセス権が異なるためなんだが、同じ fswiki が生成してるはずなのになぜ異なるんだ。

コード読む。

↑のエラーはここ

wiki3_6_4/plugin/core/ShowPage.pm

#==============================================================================
# アクセスログの記録
#==============================================================================
sub write_log {
  my $wiki = shift;
  my $page = shift;
  
  my $ip  = $ENV{"REMOTE_ADDR"};
  my $ref = $ENV{"HTTP_REFERER"};
  my $ua  = $ENV{"HTTP_USER_AGENT"};
  if(!defined($ip)  || $ip  eq ""){ $ip  = "-"; }
  if(!defined($ref) || $ref eq ""){ $ref = "-"; }
  if(!defined($ua)  || $ua  eq ""){ $ua  = "-"; }
  
  my $logfile = $wiki->config('log_dir')."/".$wiki->config('access_log_file');
  Util::file_lock($logfile);                     ←←←← これ
  open(LOG,">>$logfile") or die $!;
  print LOG Util::url_encode($page)." ".&log_date()." $ip $ref $ua\n";
  close(LOG);
  Util::file_unlock($logfile);
}

Util::file_lock はここ。

wiki3_6_4/lib/Util.pm

#===============================================================================
# <p>
#   引数で渡したファイルをロックします。
#   ファイル操作終了後は必ず同じファイル名でUtil::file_unlockを呼び出して下さい。
#   ロックに失敗した場合はdieします。
# </p>
# <pre>
# Util::file_lock(ファイル名, リトライ回数(≒タイムアウト時間、省略可));
# </pre>
#===============================================================================
# ロックしているファイルを記録し、終了時に未解除のロックを解除する保険をつけた方が良いかも知れない。
sub file_lock {
  my $lock  = shift() . ".lock";
  my $retry = shift || 5;
#  debug("file_lock($$): $lock");
  
  if(-e $lock){
    my $mtime = (stat($lock))[9];
    rmdir($lock) if($mtime < time() - 60);
  }
  
  while(!mkdir($lock,0777)){
    die "Lock is busy." if(--$retry <= 0);        ←←←← ここで死ぬ
    sleep(1);
  }
}

mkdir に失敗してるのでアクセス権だろうなあ。

怒られる wiki

% /bin/ls -l
total 1532
-rw-r--r-- 1 rin users 1287666 Septe  7 08:38 access.log
-rw-r--r-- 1 rin users  199846 Septe  4 02:12 attach.log
-rw-r--r-- 1 rin users      49 July   5  2012 deleted.dat
-rw-r--r-- 1 rin users     226 Septe  4 02:12 download_count.log
-rw-r--r-- 1 rin users       0 Febru  5  2012 freeze.log
-rw-r--r-- 1 rin users    2454 Augus 30 21:28 keywords2.cache
-rw-r--r-- 1 rin users     814 Augus 30 21:28 pagelist.cache
-rw-r--r-- 1 rin users    7795 Augus 30 21:28 rss10.cache

怒られない wiki

% /bin/ls -l
total 88
-rw----rw- 1 rin users 69793 Octob  5 19:07 access.log
-rw----rw- 1 rin users    16 Decem 14  2011 deleted.dat
-rw-r--r-- 1 rin users   453 Decem 14  2011 keywords2.cache
-rw----rw- 1 rin users   135 Decem 14  2011 pagelist.cache
-rw----rw- 1 rin users   608 Decem 14  2011 rss10.cache

これらの親ディレクトリ。同じコードが生成してるはずなのになぜアクセス権が異なるのかしら。

% /bin/ls -l log
total 520
drwx---rwx  2 rin  users     512 Oct  5 19:07 ExpertPythonProgramming
drwxr-xr-x  2 rin  users     512 Sep  5 17:28 IPusingC
drwx---rwx  2 rin  users     512 Oct  5 19:08 NetBSD
-rw----rw-  1 rin  users  206954 Oct  5 14:27 access.log
-rw-r--r--  1 rin  users      72 Jan 20  2013 deleted.dat
-rw----rw-  1 rin  users      62 Dec 13  2011 freeze.log
-rw-r--r--  1 rin  users     129 Jan 20  2013 keywords2.cache
drwxr-xr-x  2 rin  users     512 Sep  7 08:38 miwarin
drwxr-xr-x  2 rin  users     512 Sep  7 12:17 notereading
-rw-r--r--  1 rin  users      67 Jan 20  2013 pagelist.cache
drwx---rwx  2 rin  users     512 May  3 23:02 poji
drwx---rwx  2 rin  users     512 Sep 15 00:11 pythontips
drwx---rwx  2 rin  users     512 Oct  5 06:17 qmailReading
-rw-r--r--  1 rin  users    3135 Jan 20  2013 rss10.cache
drwx---rwx  2 rin  users     512 Sep 19  2013 yasiki

なお data も異なる。

% /bin/ls -l data
total 128
drwx---rwx  2 rin  users  1024 Dec 14  2011 ExpertPythonProgramming
-rw----rw-  1 rin  users   565 Aug 28  2010 FrontPage.wiki
-rw----rw-  1 rin  users  3307 Aug 28  2010 Help%2FFSWiki.wiki
-rw----rw-  1 rin  users  2974 Aug 28  2010 Help%2FHiki.wiki
-rw----rw-  1 rin  users  3305 Aug 28  2010 Help%2FYukiWiki.wiki
-rw----rw-  1 rin  users    16 Aug 28  2010 Help.wiki
drwxr-xr-x  2 rin  users  1024 Jun  3 20:23 IPusingC
-rw-r--r--  1 rin  users    28 Jan 20  2013 Menu.wiki
drwx---rwx  2 rin  users  2048 Apr 14 19:57 NetBSD
-rw----rw-  1 rin  users    33 Aug 28  2010 PluginHelp.wiki
drwxr-xr-x  2 rin  users  3072 Aug 30 21:28 miwarin
drwxr-xr-x  2 rin  users  1536 Feb  2  2014 notereading
drwx---rwx  2 rin  users  1024 Mar 28  2014 poji
drwx---rwx  2 rin  users  1024 Dec 14  2011 pythontips
drwx---rwx  2 rin  users   512 Dec 14  2011 qmailReading
drwx---rwx  2 rin  users   512 Sep 17  2013 yasiki

CGI を動作させてるのは httpd なんだが www:www なのでそりゃまあ。

えーい

% chmod -R 777 *

_ ねんどろいど 加賀

弓道の構えなんて知らない。

IMG_6898

_ [艦これ]艦これ

5-4 周回などしていた。

伊401 と比叡がレベル 99 到達者となった。5-4 10回くらい出撃したんだけどその間 比叡がノーダメージだった。

5-4 ボス S 勝利で巻雲(初)

5-4 にドラム缶要員として夕張を編成するひとが居るようなのでやってみたけど道中で大破したぞ。。。

ドックを開放したり。

本日のツッコミ(全3件) [ツッコミを入れる]
_ 安倍総理 (2021-09-14 23:00)

このあとどうなったの?

_ 安倍総理 (2021-09-14 23:02)

できました!

_ みわ (2021-09-15 01:11)

fswiki の話題ですかね。強引にパーミッションを変更して乗り切った気がします。