一個(gè)python程序項(xiàng)目,其中有約1000行代碼用cython寫了若干小的運(yùn)算函數(shù)來處理大量的numpy數(shù)據(jù)
問題:程序不定時(shí)、無規(guī)律報(bào)錯(cuò)導(dǎo)致程序終止。報(bào)錯(cuò)類型多種多樣,目前總結(jié)有以下幾種:
double free or corruption (out)
或
double free or corruption (!prev)
或
free(): invalid size
或
free(): invalid pointer
或
corrupted double-linked list
或
corrupted size vs. prev_size
或
TXT輸出NULNULNUL......
已經(jīng)積累了若干報(bào)錯(cuò)事件記錄.高度懷疑是cython或采用cython寫的代碼造成的內(nèi)存溢出,已經(jīng)定位錯(cuò)誤代碼出現(xiàn)在multiprocessing模塊的Process()語句。很頭疼的是,錯(cuò)誤無法人為重現(xiàn)。
對(duì)接單程序員的要求是:
(1)精通python和C語言
(2)由于程序不定時(shí)出錯(cuò),所以查找bug,解決問題最好能夠及時(shí)響應(yīng).一般幾天之內(nèi)肯定會(huì)出現(xiàn)報(bào)錯(cuò).可以是我來負(fù)責(zé)監(jiān)控、發(fā)現(xiàn)報(bào)錯(cuò),然后及時(shí)提交給程序員來進(jìn)一步解決.這樣可以節(jié)省程序員時(shí)間。
預(yù)算1000-3000,只要能解決,即使多花點(diǎn)兒錢也可以接受。