看板 SetupBBS 關於我們 聯絡資訊
1. 還沒成功在 64bit 下編譯 之後會嘗試:
lantw44:可以嘗試編成 32 位元的可執行檔 08/14 21:37
lantw44:CFLAGS 加上 -m32 LDFLAGS 加上 -melf_i386 08/14 21:38
tjjh89017:請問是在哪裡加上參數? 08/16 15:37
DarkIllusion:分別加在每個makefile裡面的CFLAGS跟LDFLAGS 10/16 02:02
※ 引述《lantw44 (1101-2019-3028-4786)》之銘言: : 後來發現,在 x86_64 的機器上編譯成 32 位元可執行檔,大致上功能正常,但有少部分 : 例如文章已讀、未讀會發生很奇怪的狀況 : 在函式庫的部分的 CFLAGS 加上 -fPIC 是可以成功編譯成 64 位元可執行檔的,但無法 : 正常執行 (bbsd 收到 SIGFPE 或 SIGSEGV 之類的 signal 而終止) 2. 另外會遇到的問題如上: 在 32bit 環境下的 linux 可以成功編譯, 「大致」功能正常 但同樣會遇到閱讀紀錄會一直reset的問題(新文章回覆顯示未讀) 若在站內發表完新文章或系統發了新文章後, 部分看板人氣會一直呈現 評:╳ 人氣:-15874 這樣子的情況 目前對於這個問題還在亂摸索中...沒什麼頭緒ˊˋ 目前利用工作站 bbs 帳號裡 ipcs 查詢到的資訊: bbs@debian:$ ipcs ------ Message Queues -------- key msqid owner perms used-bytes messages ------ Shared Memory Segments -------- key shmid owner perms bytes nattch status 0x000007ce 0 bbs 600 508456 2 0x00000bb5 32769 bbs 600 958480 2 0x00000bb7 98306 bbs 600 111328 2 ------ Semaphore Arrays -------- key semid owner perms nsems 只是在想要調整的是Makefile裡的編譯參數嗎? 或是 include/config.h 裡的相關定義 甚至要把裡面其他的程式碼抓出來改? 還是可透過ipcs/ipcrm shm調校share memory來改善? 目前能想到的就只有這些...orz 不知有沒有好心指點的前輩路過 或是其他現在也仍適合討論請益maple-itoc相關的地方QQ (目前找到留下最多資料的就: telnet://cpu.tfcis.org 了 其他以m3-itoc為基礎架的站也有一些轉信過去的資料) -- 你知道PTT有小天使嗎? 能幫助你唷! 小主人我來了^Q^ ●β HELP 想呼叫屬於你的使嗎? / ` 〈○〉 ▃▃▃ 只要按hh,就可以了唷!! Δ >_<~ // ▅▅▅ 快按下"hh"呼叫你的小天使吧!\(≧▽ν≦)ωgarnier -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.101.29 ※ 文章網址: https://www.ptt.cc/bbs/Maple/M.1497936402.A.60C.html
lantw44: 剛看了一下你寫的安裝步驟,有設定好讓 06/20 21:11
lantw44: camera 和 account 開機自動執行嗎? 06/20 21:11
holishing: 有新增 /etc/rc.local 寫進去, 並用 chmod +x 讓他可 06/20 21:16
holishing: 執行這樣orz 06/20 21:16
holishing: 不過上一篇沒記到... (有放進github自己改的記錄裡 06/20 21:18
然後目前情況結果是剛開機時自己從虛擬機外 telnet 回去時, 會先出現一段時間的黑畫面, 過了好一陣子才出現了沒有進站圖案的空白登入畫面 http://i.imgur.com/khMiEMG.png 有嘗試過 xinetd 或 standalone 差不多都遇到類似情形 以下是去 /var/log/daemon.log 翻到的資料: (後面兩行可能是12點執行備份時才會出現的@@) > -------- Jun 21 00:28:53 debian rc.local[310]: [account]#011CACHE#011reload bcache Jun 21 00:28:53 debian rc.local[310]: sh: 1: /usr/bin/gzip: not found Jun 21 00:28:53 debian rc.local[310]: grep: run/bmta.log: No such file or directory > -------- (之前會以為設/etc/rc.local有用是因為 架pttbbs時也是用此法讓他自己跑起來的orz) 最後登進去站長選單按了系統重整 或是回去工作站重新執行 camera 和 account 或是等crontab自己重新跑那兩個程式才有效果 一直到有以下情形前系統運作大致都算正常的 但到之後在系統或使用者於「看板」內發表新文章後 或是板主小d掉某篇文章跑到 deleted 板後 使用者就會開始有未讀記錄, 然後再麼read多次使它已讀, 進出看板後, 記錄(.BRH)還是會重設, 甚至直接斷線
lantw44: 於是整個 bbs 關掉 (killall bbsd / ipcrm ...) 06/20 21:31
lantw44: 再重開還是有這個狀況嗎? 06/20 21:31
lantw44: 斷線感覺是 bbs 程式當掉了…… dmesg 有沒有相關訊息? 06/20 21:52
lantw44: 例如 segfault 或 general protection 之類的 06/20 21:53
目前只翻到這些 O.O [ 3072.842793] mmap: bbsd (452): VmData 1804693504 exceed data ulimit 16777216. Update limits or use boot option ignore_rlimit_data. [ 814.920385] mmap: bbsd (431): VmData 1804935168 exceed data ulimit 16777216. Update limits or use boot option ignore_rlimit_data. [ 325.972325] mmap: bbsd (377): VmData 1805119488 exceed data ulimit 16777216. Update limits or use boot option ignore_rlimit_data.
holishing: (有先試了ipcs/ipcrm) 先筆記一下@@ 周末有空好好測試 06/20 23:25
先補上開機自動執行時的log.. ipcs後顯示的訊息 ※ 編輯: holishing (140.116.101.29), 06/24/2017 00:45:30 本來覺得問題在 ~/usr/[字母開頭]/[使用者]/.BRH 底下 可是發現在存閱讀記錄到該處前就已經有問題了 (可能是記憶體那邊!?) ※ 編輯: holishing (140.116.101.29), 06/24/2017 23:01:21 補上三條不同次開機的 dmesg 訊息 ※ 編輯: holishing (140.116.101.29), 06/25/2017 13:12:26
lantw44: 我覺得可以考慮用 gdb 看看能不能拿到 backtrace 了 06/28 21:06
lantw44: 在這之前要先把 Makefile 裡的 -s 拿掉再加上 -g 重編 06/28 21:07
lantw44: 剛才搜尋了一下 RLIMIT_DATA,在 maple/bbsd.c 找到這段 06/28 21:17
lantw44: /* adjust resource : 16 mega is enough */ 06/28 21:18
lantw44: limit.rlim_cur = limit.rlim_max = 16 * 1024 * 1024; 06/28 21:18
lantw44: setrlimit(RLIMIT_DATA, &limit); 06/28 21:18
lantw44: 有沒有考慮把這行 setrlimit 註解掉…… 06/28 21:19
lantw44: 把記憶體用量限制在 16 MiB 感覺似乎很少? 06/28 21:19
holishing: 先記一下, 找時間來試 ψ(._. )> 06/29 01:27
holishing: 從config.h那邊把那部分undef掉目前狀況還是差不多@@ 07/03 16:54
holishing: 再研究其他原因@@ 07/03 16:54
holishing: 直接註解掉那行的結果也一樣 07/04 13:07
holishing: gdb和Makefile參數還沒試過,找機會試 07/09 14:59
※ 編輯: holishing (140.116.101.37), 07/16/2017 01:16:40 gdb 目前找到的 log: > ps. 用 "gdb attach <程式的PID> -ex cont" 去記下來的 > 參考: > https://stackoverflow.com/questions/9746018/gdb-attach-to-a-process-without-stop 這是申請 sysop 後正常登出後留下的記錄: https://gist.github.com/holishing/9fbbccfa8d297f635715e4d71e5bda42 這是開新版後進入 (B)oards 後斷線留下的記錄: https://gist.github.com/holishing/60f1285473101c27ffd585c68db689bf 這是先前測試在 0Announce 板發文並開完新板後, 下次進站看完公告後跳出後 再從 (B)oards 進去 0Announce 板(在看板列表那時未讀燈沒亮) 再從 0Announce 板準備左鍵出板結果就斷線了: https://gist.github.com/holishing/f3cf771ea99ff30b1a848d90222c8ce7 之後進站要進去(B)然後斷線: https://gist.github.com/holishing/702e76b7ebd7b2b31793c54f1f8b29c8 這一波最後一次測試 在 0Announce 砍掉重發一次公告後 下次進站讀完公告後回主選單 然後從 (B) 進去 0Announce (那時人氣顯示: -15860) 準備再出來時, 斷線: https://gist.github.com/holishing/8e6e08873eb05be184a8c4ecfd59e762 之後的log應該會另回新文放@@, 然後上面的沒放到 backtrace orz
holishing: 這次先試到這邊, 本來一開始在test發完文後, 重複進出 07/16 05:14
holishing: 該板也會造成類似斷線情形, 但完整的log沒記到 orz 07/16 05:15
holishing: 不對, 之後應該放在gist上@@rz 07/16 05:16
像是這樣: (這個有在一些點下 backtrace 指令) https://gist.github.com/holishing/7a5f1e3a3b1d4ff3b48fe147d0ef9e27
holishing: 擇期再研究 (? 07/16 05:49
先整理一下前面的log @@ https://github.com/holishing/maplebbs-itoc/tree/gdb-test/doc/debuglog ※ 編輯: holishing (140.116.101.37), 07/21/2017 03:51:52
holishing: 或是另外找 CentOS 試試... 07/22 18:16
結果在 CentOS 7 (AltArch) 完全沒這個問題.........orz 這是逼自己不能只待在 Debian 嗎.....orz 不知道是不是 gcc 版本差異的問題還是.... (希望有天能知道答案qq ※ 編輯: holishing (140.116.101.37), 07/24/2017 12:46:17
xeonchen: cpu 是用 chroot 到 x86 的 toolchain 來 build 06/16 06:52
pichubaby: 幫忙補個延伸閱讀 01/01 17:40
pichubaby: https://github.com/ccns/dreambbs/wiki/ 01/01 17:40
pichubaby: BoardReadingHistory-zh_tw 01/01 17:40