[請益] 怪異的segmentation fault

看板PHP作者 (踢恩)時間13年前 (2011/05/13 21:47), 編輯推噓3(3011)
留言14則, 8人參與, 最新討論串1/1
$semester = intval("99"); // 取得學年 $term = intval("2"); // 取得學期 for($i=0;$i<70000;$i++){ $studentArray[] = array('years' => $semester, 'term' => $term ); } 上面這段程式碼 於command執行會出現segmentation fault或者是一大堆的錯誤碼 $semester改成"{$semester}" $term改成"{$term}" 或者是for迴圈改成60000次就不會出現錯誤 最奇怪的是出現錯誤 程式竟然還是繼續執行完了... 有人能告訴我為什麼會這樣嗎? 錯誤碼如下 ------------------------------- ======= Backtrace: ========= /lib/libc.so.6[0x5e57b16] /lib/libc.so.6(cfree+0x90)[0x5e5b070] /usr/local/bin/php(zend_hash_destroy+0x7c)[0x820328c] ======= Memory map: ======== 00110000-00151000 r-xp 00000000 08:01 393945 /lib/libssl.so.0.9.8b 00151000-00155000 rwxp 00040000 08:01 393945 /lib/libssl.so.0.9.8b 00155000-00176000 r-xp 00000000 08:01 92104 /usr/lib/libjpeg.so.62.0.0 00176000-00177000 rwxp 00020000 08:01 92104 /usr/lib/libjpeg.so.62.0.0 00177000-00188000 r-xp 00000000 08:01 91610 /usr/lib/libexslt.so.0.8.13 00188000-00189000 rwxp 00010000 08:01 91610 /usr/lib/libexslt.so.0.8.13 00189000-001bd000 r-xp 00000000 08:01 91962 /usr/lib/libxslt.so.1.1.17 001bd000-001be000 rwxp 00033000 08:01 91962 /usr/lib/libxslt.so.1.1.17 001be000-001eb000 r-xp 00000000 08:01 91790 /usr/lib/libgssapi_krb5.so.2.2 001eb000-001ec000 rwxp 0002d000 08:01 91790 /usr/lib/libgssapi_krb5.so.2.2 001ec000-001ee000 r-xp 00000000 08:01 393946 /lib/libcom_err.so.2.1 001ee000-001ef000 rwxp 00001000 08:01 393946 /lib/libcom_err.so.2.1 001ef000-001f9000 r-xp 00000000 08:01 395945 /lib/libpam.so.0.81.5 001f9000-001fa000 rwxp 0000a000 08:01 395945 /lib/libpam.so.0.81.5 001fa000-0020d000 r-xp 00000000 08:01 395942 /lib/libpthread-2.5.so 0020d000-0020e000 r-xp 00012000 08:01 395942 /lib/libpthread-2.5.so 0020e000-0020f000 rwxp 00013000 08:01 395942 /lib/libpthread-2.5.so 0020f000-00211000 rwxp 0020f000 00:00 0 00211000-00224000 r-xp 00000000 08:01 393318 /lib/libaudit.so.0.0.0 00224000-00226000 rwxp 00013000 08:01 393318 /lib/libaudit.so.0.0.0 00226000-0023c000 r-xp 00000000 08:01 395963 /lib/libselinux.so.1 0023c000-0023e000 rwxp 00015000 08:01 395963 /lib/libselinux.so.1 0023e000-00249000 r-xp 00000000 08:01 395971 /lib/libgcc_s-4.1.2-20080102.so.1 00249000-0024a000 rwxp 0000a000 08:01 395971 /lib/libgcc_s-4.1.2-20080102.so.1 00262000-00268000 r-xp 00000000 08:01 92106 /usr/lib/libltdl.so.3.1.4 00268000-00269000 rwxp 00005000 08:01 92106 /usr/lib/libltdl.so.3.1.4 00269000-002a4000 r-xp 00000000 08:01 393376 /lib/libsepol.so.1 002a4000-002a5000 rwxp 0003a000 08:01 393376 /lib/libsepol.so.1 002a5000-002af000 rwxp 002a5000 00:00 0 00372000-0038c000 r-xp 00000000 08:01 395954 /lib/ld-2.5.so 0038c000-0038d000 r-xp 00019000 08:01 395954 /lib/ld-2.5.so 0038d000-0038e000 rwxp 0001a000 08:01 395954 /lib/ld-2.5.so 0038e000-004ab000 r-xp 00000000 08:01 393373 /lib/libcrypto.so.0.9.8b 004ab000-004be000 rwxp 0011c000 08:01 393373 /lib/libcrypto.so.0.9.8b 004be000-004c1000 rwxp 004be000 00:00 0 004da000-004dc000 r-xp 00000000 08:01 393350 /lib/libdl-2.5.so 004dc000-004dd000 r-xp 00001000 08:01 393350 /lib/libdl-2.5.so 004dd000-004de000 rwxp 00002000 08:01 393350 /lib/libdl-2.5.so 004e0000-004ed000 r-xp 00000000 08:01 91661 /usr/lib/liblber-2.3.so.0.2.15 004ed000-004ee000 rwxp 0000c000 08:01 91661 /usr/lib/liblber-2.3.so.0.2.15 004f9000-0051e000 r-xp 00000000 08:01 393336 /lib/libm-2.5.so 0051e000-0051f000 r-xp 00024000 08:01 393336 /lib/libm-2.5.so 0051f000-00520000 rwxp 00025000 08:01 393336 /lib/libm-2.5.so 00522000-00525000 r-xp 00000000 08:01 91814 /usr/lib/libgpg-error.so.0.3.0 00525000-00526000 rwxp 00002000 08:01 91814 /usr/lib/libgpg-error.so.0.3.0 00528000-0057b000 r-xp 00000000 08:01 91688 /usr/lib/libgcrypt.so.11.2.2 0057b000-0057d000 rwxp 00053000 08:01 91688 /usr/lib/libgcrypt.so.11.2.2 00584000-00596000 r-xp 00000000 08:01 91660 /usr/lib/libz.so.1.2.3 00596000-00597000 rwxp 00011000 08:01 91660 /usr/lib/libz.so.1.2.3 00599000-005b1000 r-xp 00000000 08:01 91624 /usr/lib/libsasl2.so.2.0.22 005b1000-005b2000 rwxp 00017000 08:01 91624 /usr/lib/libsasl2.so.2.0.22 005b4000-005ed000 r-xp 00000000 08:01 91584 /usr/lib/libldap-2.3.so.0.2.15 005ed000-005ee000 rwxp 00039000 08:01 91584 /usr/lib/libldap-2.3.so.0.2.15 00644000-00657000 r-xp 00000000 08:01 393334 /lib/libnsl-2.5.so 00657000-00658000 r-xp 00012000 08:01 393334 /lib/libnsl-2.5.so 00658000-00659000 rwxp 00013000 08:01 393334 /lib/libnsl-2.5.so 00659000-0065b000 rwxp 00659000 00:00 0 00663000-0066c000 r-xp 00000000 08:01 393297 /lib/libcrypt-2.5.so 0066c000-0066d000 r-xp 00008000 08:01 393297 /lib/libcrypt-2.5.so 0066d000-0066e000 rwxp 00009000 08:01 393297 /lib/libcrypt-2.5.so 0066e000-00695000 rwxp 0066e000 00:00 0 00695000-007c1000 r-xp 00000000 08:01 91766 /usr/lib/libxml2.so.2.6.26 007c1000-007c7000 rwxp 0012b000 08:01 91766 /usr/lib/libxml2.so.2.6.26 00801000-00810000 r-xp 00000000 08:01 395956 /lib/libresolv-2.5.so 00810000-00811000 r-xp 0000e000 08:01 395956 /lib/libresolv-2.5.so 00811000-00812000 rwxp 0000f000 08:01 395956 /lib/libresolv-2.5.so 00812000-00814000 rwxp 00812000 00:00 0 00816000-00818000 r-xp 00000000 08:01 393330 /lib/libkeyutils-1.2.so 00818000-00819000 rwxp 00001000 08:01 393330 /lib/libkeyutils-1.2.so 0082a000-008ba000 r-xp 00000000 08:01 92079 /usr/lib/libkrb5.so.3.3 008ba000-008bd000 rwxp 0008f000 08:01 92079 /usr/lib/libkrb5.so.3.3 008bf000-008e4000 r-xp 00000000 08:01 91809 /usr/lib/libk5crypto.so.3.1 008e4000-008e5000 rwxp 00025000 08:01 91809 /usr/lib/libk5crypto.so.3.1 008e7000-008ef000 r-xp 00000000 08:01 92025 /usr/lib/libkrb5support.so.0.1 008ef000-008f0000 rwxp 00007000 08:01 92025 /usr/lib/libkrb5support.so.0.1 009c5000-00a93000 r-xp 00000000 08:01 91922 /usr/lib/libc-client.so.1 00a93000-00a97000 rwxp 000ce000 08:01 91922 /usr/lib/libc-client.so.1 00ae0000-00ae9000 r-xp 00000000 08:01 393317 /lib/libnss_files-2.5.so 00ae9000-00aea000 r-xp 00008000 08:01 393317 /lib/libnss_files-2.5.so 00aea000-00aeb000 rwxp 00009000 08:01 393317 /lib/libnss_files-2.5.so 00b26000-00b51000 r-xp 00000000 08:01 91789 /usr/lib/libmcrypt.so.4.4.8 00b51000-00b54000 rwxp 0002b000 08:01 91789 /usr/lib/libmcrypt.so.4.4.8 00b54000-00b59000 rwxp 00b54000 00:00 0 00b65000-00bac000 r-xp 00000000 08:01 182007 /usr/local/freetds/lib/libct.so.4.0.0 00bac000-00bae000 rwxp 00046000 08:01 182007 /usr/local/freetds/lib/libct.so.4.0.0 00ca1000-00ca2000 r-xp 00ca1000 00:00 0 [vdso] 00cc5000-00d1f000 r-xp 00000000 08:01 125359 /usr/local/mysql/lib/mysql/libmysqlclient.so.15.0.0 00d1f000-00d44000 rwxp 00059000 08:01 125359 /usr/local/mysql/lib/mysql/libmysqlclient.so.15.0.0 00d44000-00d45000 rwxp 00d44000 00:00 0 00d76000-00df3000 r-xp 00000000 08:01 92077 /usr/lib/libfreetype.so.6.3.10 00df3000-00df6000 rwxp 0007d000 08:01 92077 /usr/lib/libfreetype.so.6.3.10 00df6000-0186c000 r-xp 00000000 08:01 188602 /usr/local/oracle/libclntsh.so.10.1 0186c000-0196f000 rwxp 00a75000 08:01 188602 /usr/local/oracle/libclntsh.so.10.1 0196f000-01986000 rwxp 0196f000 00:00 0 04298000-042bd000 r-xp 00000000 08:01 91981 /usr/lib/libpng12.so.0.10.0 042bd000-042be000 rwxp 00024000 08:01 91981 /usr/lib/libpng12.so.0.10.0 05def000-05f2c000 r-xp 00000000 08:01 395978 /lib/libc-2.5.so 05f2c000-05f2e000 r-xp 0013c000 08:01 395978 /lib/libc-2.5.so 05f2e000-05f2f000 rwxp 0013e000 08:01 395978 /lib/libc-2.5.so 05f2f000-05f32000 rwxp 05f2f000 00:00 0 06eef000-07059000 r-xp 00000000 08:01 188595 /usr/local/oracle/libnnz10.so 07059000-0707b000 rwxp 00169000 08:01 188595 /usr/local/oracle/libnnz10.so 0707b000-0707e000 rwxp 0707b000 00:00 0 08048000-0839d000 r-xp 00000000 08:01 181753 /usr/local/bin/php 0839d000-083ca000 rwxp 00355000 08:01 181753 /usr/local/bin/php 083ca000-083e5000 rwxp 083ca000 00:00 0 095ea000-0c959000 rwxp 095ea000 00:00 0 b3b00000-b3b21000 rwxp b3b00000 00:00 0 b3b21000-b3c00000 --xp b3b21000 00:00 0 b3c40000-b3c41000 rwxp b3c40000 00:00 0 b3cc2000-b3cf7000 r-xs 00000000 08:01 376851 /var/db/nscd/hosts b3cf7000-b3d55000 rwxp b3cf7000 00:00 0 b3d55000-b7c67000 r-xp 00000000 08:01 188598 /usr/local/oracle/libociei.so b7c67000-b7c68000 rwxp 03f11000 08:01 188598 /usr/local/oracle/libociei.so b7c68000-b7c8b000 rw-p b7c68000 00:00 0 b7c8b000-b7cc8000 r--p 00ea8000 08:01 174524 /usr/lib/locale/locale-archive b7cc8000-b7da0000 r--p 00150000 08:01 174524 /usr/lib/locale/locale-archive b7da0000-b7fa0000 r--p 00000000 08:01 174524 /usr/lib/locale/locale-archive b7fa0000-b7fa9000 rw-p b7fa0000 00:00 0 b7fb1000-b7fb2000 rw-p b7fb1000 00:00 0 bff6e000-bff83000 rwxp bff6e000 00:00 0 [stack] Abort -- 如燕盤旋而來的思念 如燕盤旋而來的思念 如燕盤旋而來的思念 總在凌晨四點 唯有凌晨四點 才能訴說最美麗的語言 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.39.61.55

05/13 21:53, , 1F
我自己測試是i>=65535就會出現這錯誤
05/13 21:53, 1F

05/14 04:49, , 2F
var_dump 沒看到錯誤 應該是你其他地方問題
05/14 04:49, 2F
※ 編輯: tn801534 來自: 114.39.61.55 (05/14 06:05)

05/14 06:08, , 3F
我確定沒有其他程式碼了@@
05/14 06:08, 3F

05/14 12:48, , 4F
超出最大值...
05/14 12:48, 4F

05/14 15:00, , 5F
我測也沒錯誤啊~windows跟linux都跑過
05/14 15:00, 5F

05/15 14:06, , 6F
記憶體總共多大?或者灰塵卡在記憶體上面卡太多?
05/15 14:06, 6F

05/15 14:06, , 7F
或者記憶體搞不好壞了
05/15 14:06, 7F

05/16 00:42, , 8F
65535是short 可能哪邊可以設定 或是要翻看看手冊了
05/16 00:42, 8F

05/16 09:50, , 9F
記憶體總共是1G PHP Version => 4.4.9
05/16 09:50, 9F

05/16 09:50, , 10F
我在兩台主機上執行都是出現一樣的錯誤..
05/16 09:50, 10F

05/16 16:41, , 11F
你的OS Kernal 版本及PHP版本也許有線索
05/16 16:41, 11F

05/16 17:39, , 12F
Linux version 2.6.18-92.1.6.el5
05/16 17:39, 12F

05/16 21:37, , 13F
1G 會不會有點小...
05/16 21:37, 13F

05/17 00:11, , 14F
我增加過php.ini 的memory limit到256M過還是一樣@@
05/17 00:11, 14F
文章代碼(AID): #1DpJQ16L (PHP)