星期二, 3月 31, 2009

[FreeBSD] interrupt storm detected on "irq9:"; throttling interrupt source

今天把一台PentiumIII 的 Server 拿來重裝 FreeBSD 7.1,結果裝好了之後卻在畫面一直出現下列的錯誤訊息:

interrupt storm detected on "irq9:"; throttling interrupt source
本來以為是 BIOS 中 irq 的設定問題,結果進 BIOS 改了設定,無效,照常出現錯誤訊息。
又重新 compile 一次 kernel ,將不必要的驅動全註解掉,重開,還是無效~~~~
不得已,又求助google 大神,結果在 http://www.uplinux.com/download/doc/bsd/Handbook/acpi-debug.html 裡發現

11.16. 使用和調試 FreeBSD ACPI

撰寫人:Nate Lawson. 協力:Peter Schultz 和 Tom Rhodes.

ACPI 是在本質上是一種發現設備、管理電源使用, 提供過去由 BIOS 管理的訪問不同硬件的標準化方法。 讓 ACPI 在各種系統上都能正確使用的工作一直在進行, 但許多主板的 ACPI 機器語言 (AML) 字節代碼中的 bug, FreeBSD 的內核中資系統設計的不完善, 以及 Intel ACPI-CA 解釋器中的 bug 仍然市場會出現。

11.16.3.2. System Hangs (temporary or permanent)

Most system hangs are a result of lost interrupts or an interrupt storm. Chipsets have a lot of problems based on how the BIOS configures interrupts before boot, correctness of the APIC (MADT) table, and routing of the System Control Interrupt (SCI).

Interrupt storms can be distinguished from lost interrupts by checking the output of vmstat -i and looking at the line that has acpi0. If the counter is increasing at more than a couple per second, you have an interrupt storm. If the system appears hung, try breaking to DDB (CTRL+ALT+ESC on console) and type show interrupts.

Your best hope when dealing with interrupt problems is to try disabling APIC support with hint.apic.0.disabled="1" in loader.conf.

把 /boot/loader.conf 叫出來,然後加上 「hint.apic.0.disabled="1"」然後重開機,嘿!又是美好的一天了~~~~




[CodeIgniter] 上傳檔案無法接收???

CodeIgniter 真的好東西啊!節省人力又節省時間,不多話,今天試了一下 Upload 這個功能,結果試了半天,一直出錯,在 「 $this->load->library('upload', $config);」的下一行把 $this->upload->upload_path 印出來,結果是空值,試了二、三個小時後來放棄,原本以為是某個部分設定有誤,後來用純手工把圖片上傳,嘿!又可以~~~~~
最後..............終於找到問題了
原因是.............我在建構子中已經把 Upload 載入,結果在 do_upload() 中又載入了一次,所以.......唉!把建構子中載入Upload這一行註解掉後,正常!! 難怪程式人沒有正常的時間。

function do_upload(){
              
         $config['upload_path'] = './uploads/';
         $config['allowed_types'] = 'gif|jpg|png';
         $config['max_size'] = '100';
         $config['max_width']  = '1024';
         $config['max_height']  = '768';

         $this->load->library('upload', $config);
         // 以下略

}


星期五, 3月 27, 2009

[CodeIgniter] 上傳檔案無法接收???

CodeIgniter 真的好東西啊!節省人力又節省時間,不多話,今天試了一下 Upload 這個功能,結果試了半天,一直出錯,在 「 $this->load->library('upload', $config);」的下一行把 $this->upload->upload_path 印出來,結果是空值,試了二、三個小時後來放棄,原本以為是某個部分設定有誤,後來用純手工把圖片上傳,嘿!又可以~~~~~
最後..............終於找到問題了
原因是.............我在建構子中已經把 Upload 載入,結果在 do_upload() 中又載入了一次,所以.......唉!把建構子中載入Upload這一行註解掉後,正常!! 難怪程式人沒有正常的時間。

function do_upload(){
              
         $config['upload_path'] = './uploads/';
         $config['allowed_types'] = 'gif|jpg|png';
         $config['max_size'] = '100';
         $config['max_width']  = '1024';
         $config['max_height']  = '768';

         $this->load->library('upload', $config);
         // 以下略

}


星期五, 3月 06, 2009

IE7 網頁正常,但 IE8不正常

IE8 總算做了件好事 Follow W3C的標準了,不過,也因為這樣導致很多以 IE7為開發平台的網頁瀏覽會不正常,可以參考 黑暗執行緒 列出的方法。
孤僻不群的IE7、兵臨城下的IE8 - 黑暗執行緒
# 在IIS裡加設X-UA-Compatible:IE=EmulateIE7標頭,強迫IE8使用IE7模式瀏覽該網站的內容。(假裝IE8還是IE7)
# 利用IE8 Blocker Toolkit阻止IE8的自動部署,等網站改好再說。(假裝沒有IE8這種東西)




[opensolaris] 安裝 OpenSolaris 2008.11

一直聽先進讚揚 Solaris,剛好日前參加一個 Sun 舉辦的論壇,其中也稍微提及 Solaris 和 開放的 OpenSolaris,這幾天有空,就在 Ubuntu 底下的 VirtualBox 裝上了 OpenSolaris 2008.11

把它的安裝稍微做一下記錄:

  1. 下載OpenSolaris ISO 檔案 (目前最新版本是 2008.11)
  2. 在 VirtualBox (2.1.4) 上開一個新的 VM,作業系統選擇 OpenSolaris
  3. 選擇光碟開機,並直接掛載 OpenSolaris ISO檔
  4. 照表操課~~~~
不愧是同一家的產品,兩者協調非常不錯!