私はQubu 4.11のプログラム(http://code.google.com/p/image-feature-detector/)をKubuntu 12.04でコーディングしています(ただし、Kubuntu 11.10でも同様です)。コンパイルされた実行可能ファイルを実行しようとすると狂ったエラーが発生します。プログラムは完全にコンパイルされて実行されましたが、突然、ある日、適切なコンパイル後に実行しようとしたときにこのエラーが発生しました。エラー/ var/tmp/kdecacheはuid0の代わりにuid1000が所有しています
これは私がsudo
で実行可能ファイルを実行する場合、私が得たものです:
error /var/tmp/kdecache-myuser is owned by uid 1000 instead of uid 0
私はsudo
なしで実行可能ファイルを実行した場合、私が取得:
Segmentation fault (core dumped)
そして、私はkdesudo
で実行可能ファイルを実行した場合、後パスワードの入力を促すウィンドウが表示されても何も起こりません。
私はプログラムをデバッグする場合、デバッグはNetBeansは私を示し、プログラムのこの解体部分の2行目では、ソースコードの任意の行に到達する前に停止します。
_ZN15QAbstractButton10setCheckedEb()
Stops here->_ZN15QAbstractButton10setCheckedEb+22: mov 0x8(%rdi),%rbp
_ZN15QAbstractButton10setCheckedEb+26: mov %esi,%r12d
_ZN15QAbstractButton10setCheckedEb+29: movzbl 0x214(%rbp),%eax
_ZN15QAbstractButton10setCheckedEb+36: test $0x1,%al
_ZN15QAbstractButton10setCheckedEb+38: je 0x7ffff74a10d0 <_ZN15QAbstractButton10setCheckedEb+192>
_ZN15QAbstractButton10setCheckedEb+44: mov %eax,%edx
_ZN15QAbstractButton10setCheckedEb+46: shr %dl
_ZN15QAbstractButton10setCheckedEb+48: and $0x1,%edx
_ZN15QAbstractButton10setCheckedEb+51: cmp %sil,%dl
_ZN15QAbstractButton10setCheckedEb+54: je 0x7ffff74a10d0 <_ZN15QAbstractButton10setCheckedEb+192>
_ZN15QAbstractButton10setCheckedEb+60: test %sil,%sil
_ZN15QAbstractButton10setCheckedEb+63: je 0x7ffff74a1100 <_ZN15QAbstractButton10setCheckedEb+240>
_ZN15QAbstractButton10setCheckedEb+69: mov %rsp,%rdi
_ZN15QAbstractButton10setCheckedEb+72: mov %rbx,(%rsp)
_ZN15QAbstractButton10setCheckedEb+76: callq 0x7ffff70bd220 <[email protected]>
_ZN15QAbstractButton10setCheckedEb+81: movzbl 0x214(%rbp),%eax
_ZN15QAbstractButton10setCheckedEb+88: mov %r12d,%edx
_ZN15QAbstractButton10setCheckedEb+91: and $0x1,%edx
_ZN15QAbstractButton10setCheckedEb+94: add %edx,%edx
_ZN15QAbstractButton10setCheckedEb+96: and $0xfffffffd,%eax
_ZN15QAbstractButton10setCheckedEb+99: or %edx,%eax
_ZN15QAbstractButton10setCheckedEb+101: test $0x20,%al
_ZN15QAbstractButton10setCheckedEb+103: mov %al,0x214(%rbp)
_ZN15QAbstractButton10setCheckedEb+109: je 0x7ffff74a10e8 <_ZN15QAbstractButton10setCheckedEb+216>
_ZN15QAbstractButton10setCheckedEb+111: mov %rbp,%rdi
_ZN15QAbstractButton10setCheckedEb+114: callq 0x7ffff749f9f0
_ZN15QAbstractButton10setCheckedEb+119: cmpq $0x0,(%rsp)
私が所有権を実験し、変更/var/tmp/kdecache-myuser/
~root
(uid0)である。その後私は実行ファイルをsudo
で実行し、sudo
を使わずにプログラムを実行すると "Segmetation fault"というエラーが出ます。さらに、元の/var/tmp/kdecache-myuser/
フォルダのアクセス許可を変更すると、新しい/var/tmp/kdecache-looksLikeMd5Number/
フォルダがmyuser
権限で作成されます。
このエラーをどのように解決して私を狂わせてしまうのか、何かお勧めします。
ええと、これはヌルを指すポインタと関連している必要があると思います。 – AxeEffect
私の返信を参照してください少なくともなぜこれの一部( "エラー:"/var/tmp/kdecache-computeruser "uid 0の代わりにuid 1000が所有しています")はあなたのコードなどのコードで問題ではないようですnullポインタ... kdialogに同じ問題が存在する場合を除きます。 – MountainX