Taint 가 뭐냐면... 뭐 단어는 구글단어장에서 찾아!!!

일단 Kernel 패닉등이 일어나면 코어에 혹은 로그에 관련 로그가 찍히는데,

거기보면 Pid: 15652, comm: scopeux Tainted: P      2.6.9-89.ELsmp 이런게 남는다. 여기에 있는 Tainted다.

대략 정리해보자면 이 상태를 찍어주는 Flag 의 종류는 레드햇의 경우 총 7개가 있다..
(소스보기 귀찮아서 그냥 매뉴얼만 봤다.. 디테일하게 묻진 말자 :P )

1. P: Proprietary License 를 갖고있는 모듈이 문제를 일으켰다는 내용으로 독점적 라이센스를 뜻한다.
   즉 써드파티따위에서 GNU 나 GPL 아래 있는 모듈이 아닌 자체제작된 모둘이라는 것으로 source 코드에
   대한 지원이 불가능함을 뜻한다. 즉 일단 써드파티 모듈부터 까고 봐야 한다는거지!

2. G: 잘 안나오는녀석이긴한데, 이건 말 그대로 GPL 영향에 있는 공개된 모듈에서 문제가 됬다는 것이다.
   P 의 반대로 생각하면 된다. 이경우엔 리눅스 커널 개발자가 알아서 해줄지도 모른다 :)

3. F: 강제로 로드된 모듈에서 결국 문제가 발생되어버렸다 라는 뜻으로, insmod 나 modprobe 의 -f 옵션으로
  강제 로드된 모듈에서 버전 정보등의 검사를 하는 도중 커널에 문제를 일으켰다는 내용으로 보면 된다.

4. R: 커널이 운영되고 있는 중에, 그리고 사용중인 모듈인데 강제로 (rmmod -f 옵션) Unload 시켰을때
  발생하는 플래그이다.. 결국 뻘짓거리 하지말고 정상적으로 사용하라는 것...

5. S: SMP 커널을 사용할때 CPU 할당 관련 문제시 발생하는 플래그이다.

6. M : MCE ( Machine Check Exception ) 에서 일으키는 문제에 대한 플래그로, CPU 온도가 높다던가,
  메모리 뱅크 및 슬롯이 잘못됬을때 하드웨어에서 감지하고 일으키는 문제에 대한 플래그.

7. B: Bad Page State 를 뜻하는 것으로, 리눅스가상메모리(virtual memory) 에서 잘못된 부분을 감지했을때
  사용되는 플래그이다. 보통 RAM 또는 메모리 캐쉬의 문제시 발생되곤 한단다..

자...7개다.. kernel Document 보면 사실 한 3개쯤 더 있는데, 난 7개만 썼다.. 왜?

오래된 문서를 보고 정리한거고, 커널문서에서는 tainted 에 대한 비트수만 나와있지 뭐라고 찍히는지는

안나아욌어서다... 짜증나게 깊이 묻지 말자... :)

대략 tainted 에서 뜨는 내용만 보고도 어디를 조져야 할지 나온다. 좀 이런것좀 보면서 일하잔 말이다! ㅠㅠ

어만 리눅스만 자꾸 잡아대려고 하지 말고!

근데 나 이거 열심히 쓰고 봤더니 예전에 내가 정리해서 쓰지 않았던가 라는 데자뷰현상이!!!!

블로그 뒤지다보면 간간히 예전에 썼다 생각했는데 없는것들이 있다...

뭐지.. 나 해킹당하나 머릿속 해킹... :(


  1. Helleaasip 2010/08/06 20:52 답글수정삭제

    wapos знакомства ,http://www.55itgirl.com/viewthread.php?tid=96894&pid=208404&page=1&extra=#pid208404
    иностранные сайти знакомств
    знакомство в городе владикавказ ,http://www.designsays.blog.lc/bbs//viewthread.php?tid=741&pid=1475&page=1&extra=#pid1475
    благовещенск знакомства

  2. olgaеvpo 2010/08/09 15:19 답글수정삭제

    фото знакомства мурманск ,http://youtinetha.narod.ru/pag-29.html ,сайт знакомств новосибирск . новая каховка знакомства ,http://benitahin8a.pochta.ru/pg-143.html ,интим знакомства улан удэ . Крепкими узами ибо именно для этого рождаются девушки в королевских. Новой ясновидящей бреннина интересно когда это они успели так спеться чуть ли не закадычными подругами. Ящика каждый из которых был соответственно помечен буквами а б. Взять себя в руки и сдержанно произнес я очень сожалею прошу забыть о моих словахя только хочу.

  3. olgaеvpo 2010/08/09 18:35 답글수정삭제

    Любовь надо питать, а не питаться ею.
    знакомство с девушкой в интернете ,http://plselyescs.narod.ru/pag-199.html знакомства для геев в ижевске </a>.знакомства в нижних сергах секс знакомства с транссексуалами , http://elnabrt3tk.mail15.su/pg-158.html свинг знакомства в тюмени </a>.Любите женщину, какой вы ее сделали, или делайте ее такой, какой вы ее любите.Испанская пословица

  4. thurman7bc 2010/08/10 20:10 답글수정삭제

    Stop hack the program!!!

  5. typtokBor 2010/08/11 12:26 답글수정삭제

    Hello!
    I've recently found
    an excellent search engine –
    baza sie pojebala
    P.S. Yahoo – everything will be found! Google: nothing was really lost…

    Bye to everyone!

  6. diet tea 2010/08/13 18:24 답글수정삭제

    it was very interesting to read.

  7. Bunn Coffee 2010/08/18 02:43 답글수정삭제

    Very good article, well written and very thought out.

  8. iphone ringtone maker 2010/08/19 18:03 답글수정삭제

    In it something is. I thank for the information. I did not know it.

  9. typtokBor 2010/08/24 06:50 답글수정삭제

    Good day!
    I've recently found
    a marvelous search engine –
    <b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/html/links.php</b> on line <b>17</b><br />
    P.S. Yahoo – everything will be found! Google: nothing was really lost…

    Bye to everyone!

  10. jessasg 2010/08/26 00:09 답글수정삭제

    возможность завести новые знакомства 1vstvipsone

  11. Celexa 2010/08/27 11:49 답글수정삭제

    Vex ferments the humors, casts them into their adapted channels, throws eccentric redundancies, and helps nature in those secretive distributions, without which the body cannot subsist in its vigor, nor the typification dissimulate with cheerfulness.

  12. ydhoney 2010/08/31 16:39 답글수정삭제

    이 분 늪에서 빠져나오기는 글렀구만..(...)

트랙백 주소 :: http://seblog.mirr4u.com/579/trackback/
옵션
댓글 달기
오랜만에 글이다... 좆같은 세상 좆같은 한국 IT 특히 모사! 너넨 그따구로 할꺼면 직접 개발해서 써라

너낼 위해서 한쪼가리 날려주는 테더링이라는 (전혀상관없..쿨럭...웅~?) 글이다.

레댓계열 물론 엄밀히말하자면 GCC 가 4.4.4 대로 올라갈 수 있는 녀석들 얘기니까

페도라10 이하 (10포함이다) 는 고민좀 해보시고! 11 이상이면 가능할것 같아........

자 따라해 보라고.. 부면말하지만 블루투쓰가 아닌 USB 케이블 이용이다!

가장 중요한건 git 야... 니미 시붕, RHEL 5의 update 4 이하에선, git 사용이 거지같더라 ㅡ.,ㅡ

Glibc 관련 라이브러리들 때문이지만 ㅠㅠ

명심해 둬.. 5.5 는 모르겠는데, 잘... RHEL6 (물론아직베타) 에선 git 로 가져오는 것들 잘되더라..

물론 내가 쓰는것은 페도라 위주고, RHEL 에서 구지 아이폰 테더링 할필요 없으니까...
(회사가 조낸 힘들게 하니까 아이폰에 써버를 꽂으려고 하는거다..그런덴 때려쳐라..헉 이런 개드립을 ㅠㅠ)

mirr4u@~ ]# yum install libimobiledevice libimobiledevice-devel git gcc -y
... 생략
Done

mirr4u@~ ]# git clone git://github.com/dgiagio/ipheth.git
mirr4u@~ ]# cd ipheth/ipheth-pair
mirr4u@~ ]# make
mirr4u@~ ]# sudo make install
mirr4u@~ ]# cd ../ipheth-driver/
mirr4u@~ ]# sudo make install
mirr4u@~ ]# modprobe ipheth

또 중요한게 뭔줄 아냐?? NetworkManager 패키지이다..

레드햇에서도 일종의 계륵인 녀석인데, 어쩔수 없다.

블루투스가 더 거지같다... 인식도 잘 못하고, Blueman 쓰면 블루맨자체가 충돌나서 뻗는경우가 많다.

그냥 왠만해선 기본설치 되니, NetworkManager 를 실행 혹은 재실행 시키자.

그르면!!!!! iPhone 관련된 네트워크를 잡거나 보여준다... 괜춤하고 잘 된다.

이런건 정말 느그들이 애플이 정말 괜찮다 생각하면 페도라 자체에는 포함해야 하지 않겠냐??

git 권장하지말고! 젠투도 아닌것들이.. yum 레포로 넣으라고!! 좀!!!

추가로! 안드로이드도 조낸 까대거나 실헝하지만 말고!

무선 AP 자체적으로 만들어 주는 거! RHEL 에도 넣고 페도라에도 쉽게 넣게 만들어 주라고! ㅡ,.ㅡ

얼마나 좋아! 다들 테더링하고 다들 무선AP 찾고, 다들 그딴식으로 노가다하고 돈 때려 줘야돼??

좀 각성하자 형이 길어져서 그만한다 졸려 ㅡ,.ㅡ 스윗드림해라 ! :)
트랙백 주소 :: http://seblog.mirr4u.com/578/trackback/
옵션
댓글 달기
일전에 잠깐 소개했던 ABRT 에 대한 핸들링을 좀 간략하게 적어볼까 한다.

일차적으로 CLI 를 이용한 쉘에서의 분석이다.

일단 abrt 커널 2.6.30 이후부터 (정확하겐 모르겠다) 즉, RHEL6 에서 기본 크래쉬 관리 도구로 사용되는,

자동 버그 리포팅 툴이다.

이것은 큰 기능은 없지만, 어플리케이션 뿐만아닌, 커널 레벨의 모든 크래쉬를 감지,

코어파일을 생성하여 일련번호를 할당하여 관리할 수 있게 한다.

물론 이걸 이용해 분석도 할 수 있고, 간단하게 bugzilla 등에 리포팅 할 수 도 있다.

이것에 대한 얘기는 총 세개의 글로 나누어 설명할 예정이다.

abrt 의 사용을 위해서는 abrtd 라는 데몬이 실행되야 하며, 특정 커널 이후로는 필수 실행데몬이다.

cli (쉘) 에서의 명령어는 abrt-cli 로, 간단하게 몇가지 옵션위주로 설명하겠다.

[mirr@Mirr Document]$abrt-cli --get-list
0.
    UID        : 500
    UUID       : 7934db0508363522625da8ef236db612fa7af2d3
    Package    : gnome-terminal-2.28.2-1.fc12
    Executable : /usr/bin/gnome-terminal
    Crash Time : 2010년 04월 16일 (금) 오후 12시 14분 35초
    Crash Count: 1
1.
    UID        : 500
    UUID       : 4d66c3c61860827f892facad0e7e38e878ac97c5
    Package    : gnome-screensaver-2.28.3-1.fc12
    Executable : /usr/libexec/gnome-screensaver/slideshow
    Crash Time : 2010년 05월 02일 (일) 오후 09시 54분 24초
    Crash Count: 3
...................................
............중략 ...............

7.
    UID        : 500
    UUID       : 23ab4764de849a8166e74e0a1a51f5b7052d47e6
    Package    : abrt-gui-1.0.9-2.fc12
    Executable : /usr/bin/abrt-applet
    Crash Time : 2010년 05월 08일 (토) 오후 05시 41분 32초
    Crash Count: 1
8.
    UID        : 500
    UUID       : f5694f7625c378966ade0589333c19fd13f74e07
    Package    : compiz-0.8.2-24.fc12
    Executable : /usr/bin/compiz
    Crash Time : 2010년 05월 12일 (수) 오전 09시 09분 43초
    Crash Count: 1
9.
    UID        : 500
    UUID       : c90bebaca19d364eef0c133f742478731cf9f1a1
    Package    : twitux-0.69-4.fc12
    Executable : /usr/bin/twitux
    Crash Time : 2010년 05월 24일 (월) 오전 09시 38분 26초
    Crash Count: 1
10.
    UID        : 500
    UUID       : f04092400057d11de3876cce9246844aa663ee43
    Package    : firefox-3.5.9-2.fc12
    Executable : /usr/lib/firefox-3.5/firefox
    Crash Time : 2010년 05월 26일 (수) 오전 10시 04분 40초
    Crash Count: 1

보다시피 0번부터 발생되고, 감지된 모든 크래쉬를 쭉 나열해 준다.

유저레벨에서도 사용이 가능한점이 특징이다라고 할 수 있고,

루트의 경우 커널크래쉬 혹은 커널 워닝 레벨까지 보여준다 (와우~)

직관적이므로 설명이 깊이는 필요없을거라 생각하지만..

일단 프로그램이 실행된 UID, 그리고 프로그램 코어 발생을 구분해주는 UUID,

문제 유발 프로그램의 패키지, 실행파일, Crash 발생 시간, 그리고 Crash 횟수이다.

이제 리스트를 받았으면 내용을 봐야지..

[mirr@Mirr Document]$ abrt-cli --report `UUID` 또는 @Number`
>! crash '@0' is not in database
>! Can't find crash with id @0 in database

뭐 이런식으로 뜨면서 Stack Backtrace 장면이 펼쳐진다.

나오는건 중략하고 대략 vi 명령어 모드로 볼 수 있으며, 나오는건 역시 :q 나 :q! 를 사용하면 빠져나오고,

다음과 같이 버그 리포팅을 묻는다.

No changes were detected in the report.
Report using Bugzilla? [y/N]: n
Skipping...
Report using Logger? [y/N]: n
Skipping...
Crash reported via 0 plugins (0 errors)


매우 간단하지 않는가?

여기서 중요한건 코어에서 뽑을 수 있는 로그.. 즉, Backtrace 부분이 손쉽게 보여진다는 점으로,

이것들만 버그질라등에서 검색해도 많은 힌트를 얻을 수 있다.

버그질라에 보고하기 위해서는 계정이 필요하다.

이제 ABRT 를 이용하여, 손쉽게 버그를 핸들링 및 리포팅 하자.

두번째 장에서는 GUI 로 다뤄 볼 예정이다.

PS : 스프링놋흐에서 좀 자세히 작성될 예정이다.




  1. 2010/06/10 17:17 답글수정삭제

    비밀댓글 입니다

  2. 2010/06/14 13:46 답글수정삭제

    비밀댓글 입니다

  3. 2010/06/22 16:06 답글수정삭제

    비밀댓글 입니다

  4. Festina 2010/06/23 05:40 답글수정삭제

    To be a noble charitable being is to be enduring a make of openness to the world, an ability to trust unsure things beyond your own restrain, that can front you to be shattered in uncommonly exceptionally circumstances as which you were not to blame. That says something remarkably weighty thither the prerequisite of the honest life: that it is based on a conviction in the uncertain and on a willingness to be exposed; it's based on being more like a plant than like a treasure, something somewhat fragile, but whose extremely item attraction is inseparable from that fragility.

  5. Fuehajewmella 2010/06/29 10:35 답글수정삭제

    I enjoyed reading your blog. Keep it that way.

  6. WroryNere 2010/07/08 07:55 답글수정삭제

    http://www.BackLinkBlast.net/

    Offering Back Link Boost High PR! and get alot of Visitors to your website!
    also of Purchases!
    also we offering a youtube Marketing services for your website! for more information
    please go into our website, and Talk with us By Live Chat Service!

    http://www.BackLinkBlast.net/


    Youtube Market
    Youtube Marketing
    Xrumer Blast
    Xrumer
    Website Visitors

  7. convert mkv 2010/07/09 00:14 답글수정삭제

    I congratulate, you were visited with simply brilliant idea

  8. iphone ringtone maker 2010/07/17 03:39 답글수정삭제

    Very advise you to visit a site that has a lot of information on the topic interests you.

트랙백 주소 :: http://seblog.mirr4u.com/577/trackback/
옵션
댓글 달기
이번에는 어플리케이션 레벨 크래쉬 발생.

[root@linux04 ~]# abrt-cli --get-list
0.
    UID        : 0
    UUID       : de784294dea27f567470a83867ac5faf9c95dc30
    Package    : groff-1.18.1.4-19.el6
    Executable : /usr/bin/grotty
    Crash Time : Wed May 26 23:56:54 2010
    Crash Count: 1

[root@linux04 ~]# abrt-cli --report de784294dea27f567470a83867ac5faf9c95dc30

[New Thread 4700]
Core was generated by `grotty -c'.
Program terminated with signal 11, Segmentation fault.
\#0  0x0000000080005b9a in ?? ()

Thread 1 (Thread 4700):
\#0  0x0000000080005b9a in ?? ()
No symbol table info available.
\#1  0x00000000800020ce in ?? ()
No symbol table info available.
\#2  0x0000004c97126894 in __libc_start_main () from /lib64/libc.so.6
No symbol table info available.
\#3  0x0000000080001cc2 in ?? ()
No symbol table info available.
From                To                  Syms Read   Shared Object Library
0x0000004c9764e68c  0x0000004c976d7604  Yes (*)     /usr/lib64/libstdc++.so.6
0x0000004c972eb9c4  0x0000004c97336780  Yes (*)     /lib64/libm.so.6
0x0000004c9759b40c  0x0000004c975a678c  Yes (*)     /lib64/libgcc_s.so.1
0x0000004c971265a0  0x0000004c97265720  Yes (*)     /lib64/libc.so.6
0x0000004c970dcc30  0x0000004c970f6fc8  Yes (*)     /lib/ld64.so.1
0x000002000000a4dc  0x000002000000b268  Yes (*)     /usr/lib64/gconv/ISO8859-1.so
(*): Shared library is missing debugging information.
$1 = 0x0
No symbol table is loaded.  Use the "file" command.
r0             0x1      1
r1             0x200000001      8589934593
r2             0x6a8    1704
r3             0x4c00000000     326417514496
r4             0x80005b82       2147507074
r5             0x8002bfb0       2147663792
r6             0x1      1
r7             0x3fffff6d2e8    4398045909736
r8             0x3fffff6d2bc    4398045909692
r9             0x80016690       2147575440
r10            0x80014428       2147566632
r11            0x8002c870       2147666032
r12            0x80016688       2147575432
r13            0x8000f160       2147545440
r14            0x80005b82       2147507074
r15            0x3fffff6d1f0    4398045909488
pc             0x80005b9a       0x80005b9a
cc             0x2      2
No function contains program counter for selected frame.
Debuginfo absent: 158419a490e305a8ddabf2ce33236f8bed265d25
Debuginfo absent: 1e56dbdcd1da368cc506da6fd5491c81d82467db
Debuginfo absent: 2bacaa9b9da7c46647164b2443001be21bca87bf
Debuginfo absent: 4d07a20699ca445734708864b04dbef0e01ef1c0
Debuginfo absent: 825b439d8dafc782938c6093a2fb617b1163a180
Debuginfo absent: 88d0c4c627334edfe4b1a80efc5d6dd8354e8ef8
Debuginfo absent: e2bee819f0a836d0ee2bc1b2beac53413b5179f9


이건 debuginfo 를 가지고 코어덤프를 gdb 등으로 Trace 해야 할것 같은데 지금은 귀찮고...

일단 흥미로우니 책갈피식으로 꽂아놓는다...
트랙백 주소 :: http://seblog.mirr4u.com/576/trackback/
옵션
댓글 달기
abrt 에 보니 몇개씩 쌓여있다... 대략 베타라서 그런것 같고 뭐 찾아지는건 좀 다른내용이긴 하지만,

비슷할것 같고 해결중인것으로 보여진다...아님말고 (무책임 먼산~ ;p)

------------[ cut here ]------------
WARNING: at fs/sysfs/dir.c:491 sysfs_add_one+0xf4/0x160() (Tainted: G        W )
sysfs: cannot create duplicate filename '/devices/qeth/0.0.0700/ipa_takeover'
Modules linked in: qeth_l3(U) ipv6(U) qeth(U) qdio(U) vmur(U) ccwgroup(U) ext4(U) mbcache(U) jbd2(U) dasd_diag_mod(U) dasd_eckd_mod(U) dasd_mod(U) dm_mod(U) [last unloaded: scsi_wait_scan]
CPU: 0 Tainted: G        W  2.6.32-25.el6.s390x #1
Process ccw_init (pid: 825, task: 00000000023150b0, ksp: 000000003d3bf9d0)
000000003d3bfb78 000000003d3bfaf8 0000000000000002 0000000000000000
     000000003d3bfb98 000000003d3bfb10 000000003d3bfb10 00000000004a8b8c
     000000000001ffff 00000000007b3254 0000000000000000 000000003d3bff18
     000000000000000d 000000000000000c 000000003d3bfb68 0000000000000000
     0000000000000000 00000000001052f0 000000003d3bfaf8 000000003d3bfb38
Call Trace:
([<00000000001051f0>] show_trace+0xe8/0x138)
[<0000000000144f3c>] warn_slowpath_common+0x80/0x98
[<0000000000144fc2>] warn_slowpath_fmt+0x5e/0x68
[<00000000002bc988>] sysfs_add_one+0xf4/0x160
[<00000000002bd2ca>] create_dir+0x6a/0xe0
[<00000000002bef32>] internal_create_group+0x5e/0x1e8
[<000003c001a52282>] qeth_l3_create_device_attributes+0x5a/0x108 [qeth_l3]
[<000003c001a4ad08>] qeth_l3_probe_device+0x40/0x80 [qeth_l3]
[<000003c00164097e>] qeth_dev_layer2_store+0xfe/0x114 [qeth]
[<00000000002bb52c>] sysfs_write_file+0xe0/0x194
[<0000000000240270>] vfs_write+0xa0/0x1a0
[<0000000000240472>] SyS_write+0x5a/0xac
[<0000000000118256>] sysc_noemu+0x10/0x16
[<0000004c971fea9c>] 0x4c971fea9c


https://bugzilla.redhat.com/show_bug.cgi?id=468755

여기보면 RHEL5 버젼에서 비스무리한 경우가 있긴 한데 이건 뭐 할당이 안된거고,

여기선 왠지 모르겠지만 중복되었기때문에 난 문제인듯한데, 리부팅마다 남겨진것 같다.

동일한 내용인데 주소와 ccw_init PID 만 변하고 계속 새로 카운트 되기 때문에 그렇게 생각 되는데,

몇번 #CP 모드에서 빠져나오는 부분 관련하여 여러번의 시행착오가 있었는데, 관련된것 같긴하지만...

좀 더 zLinux 에 대한 공부가 필요하다.

트랙백 주소 :: http://seblog.mirr4u.com/575/trackback/
옵션
댓글 달기