パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

systemdで複数の不具合が確認される」記事へのコメント

  • by Anonymous Coward on 2017年07月07日 8時37分 (#3240403)

    ユーザー名を指定する個所で数字で始まるユーザー名を指定すると、そのユーザーの代わりに「root」が指定されたことになってしまう

    な? 障害者レベルの設計だろ?

    おまけにsystemdの開発者がクソなのは、PulseAudioやAvahiの時点で既に分かっていたので、今回の「数字で始まるユーザー名が不正なのであってsystemdのバグではない」という返答が帰ってくるまでが想定の範囲内という酷さ。
    こいつらは、PID 1で常時動作するようなサービスマネージャーを、そこらの3分間クイックハックレベルの思考で設計してる。

    かつての1ツイート(140字以内)でsystemdをクラッシュさせる方法 [gihyo.jp]やrm -rf バグ [preining.info]の時も感じたが。systemdがクソなのは、これやその他バグ自体ではなく、なぜこんなシンプルで重大なバグが何年ものあいだ放置されていたのか、いったいどんな品質保証プロセスを通ってきたのかという点。Ayerの意見には諸手を挙げて同意したい。

    systemdは本業のinitと、やってもudev & dbus業務だけに専念してて。
    余計なことまでしゃしゃってこないで。わりとマジで。

    • by Anonymous Coward on 2017年07月07日 10時24分 (#3240463)

      Q: なぜこんなバグが放置されていたのか?
      A: つぶす前に増やしたから。十分に目があっても、それ以上に手指があるから。

      「コードは書くんじゃない、消すものだ」とはよく言ったものだ。

      親コメント
    • by Anonymous Coward on 2017年07月07日 10時30分 (#3240470)
      > > ユーザー名を指定する個所で数字で始まるユーザー名を指定すると、そのユーザーの代わりに「root」が指定されたことになってしまう

      > な? 障害者レベルの設計だろ?

      Unix 系の OS ではユーザー切り替えやろうとすると
      「デフォルトユーザーとして root にならないようにする」
      という処理を加えないと、そうなっちゃうんだよ。

      Windows とか Trusted Unix と呼ばれる類だと、デフォルトユーザーを意識しなければ、unknown とか NOUSER とか、何の権限もない状態になるからありえない話だが Unix系では何も考えないと root になるという仕様なのだからな。
      親コメント
      • by Anonymous Coward

        rootがユーザーの本質なんだから、そこの思想がおかしいとは思わんけどな。もちろん、現代的な倫理観に照らせば変だけど、そういうのはOSより上のレイヤが処理すべき話だろう。

        • by Anonymous Coward

          >rootがユーザーの本質

          な、なにを言い出したのこの人…。

          >OSより上のレイヤが処理すべき話

          ???

          • by Anonymous Coward on 2017年07月07日 11時31分 (#3240516)

            きっと何か大事な事を言ってる振りがしたかっただけ。俺は分かってるんだぞって。

            # つまりは厨二病。滑稽だね。

            親コメント
          • by Anonymous Coward

            ユーザー切り替え機能もSystemdも一般的にはOSの機能に含まれると思っていたのだが…
            OSの不始末はOSで処理すべきだろう。
            尤も開発元がそれは仕様であり問題ないと言っている以上Systemd以外(OSより上のレイヤでもいい)で何とかするしかないのだが。
            それかSystemdをなんとかするか?
            #3240496の主張は意味不明だな。
            #タスケテオビワンケノービ?

            • by Anonymous Coward
              このレベルでの話だと、systemd のレイヤは OS には含まなくてもいいんじゃないかいね。
              systemd を擁護するなら、ユーザーの認証/切り替えに失敗したのに、rootのまま実行されるのは Linux の問題とは言える。 Windows や 商用のUnix なら、そんな問題は起きないのだから。
              とはいえ systemd って Linux 専用で作ってる(移植はあるにしても)のだから、Linux に合わせた実装しろよって話で、言い訳にはならんよな。
              • by Anonymous Coward on 2017年07月07日 21時31分 (#3240862)

                > ユーザーの認証/切り替えに失敗したのに、rootのまま実行されるのは Linux の問題とは言える

                いやいや、完全に systemd の問題でしょ。アプリケーションが、一時的に別のユーザーになろうとして
                失敗したとき、そのまま処理するかどうかを決めるのはアプリケーションの責任以外の何物でも無い。

                親コメント
        • by Anonymous Coward

          もしやWindowsのUACという仕組みに毒されすぎていないか

          # Administratorが本質でUACはその上のレイヤってこと?

    • まったく同意。
      ソフトウェアの進化について、バージョン2はとにかく機能を入れ込んで肥大化して使い物にならない、バージョン3で不要なものを分離・切り落としてやっと使いものになる…
      という話が昔あったような気がするが、その話でいうと systemd は今のところまだバージョン2の状態のように見える。

      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
    • 不適切なコメントだと思う。
      親コメント
    • by Anonymous Coward

      素朴な疑問なんだが、なんでこんなに問題の多い代物が多くのディストリビューションで採用されているんだ?

      • by Anonymous Coward

        抱き合わせ商法みたいな感じ

      • by Anonymous Coward

        SysV initがslowだから

        • by Anonymous Coward

          そんなのを無視できるほど、コアの性能は向上してると思うのだが。
          少しくらいマルチコアに対応してなくとも、別に気にならんのでは。

    • by Anonymous Coward

      開発者に合ったことはないけどレインマンみたいな感じなのかな

      # 本人は善意でやってると思われ

      • by Anonymous Coward on 2017年07月07日 19時36分 (#3240802)

        逆だ!逆!
        レインマンの弟みたいなやつに任せるからこうなった!
        レインマンに頼めばこんなことにはなってない!

        親コメント
        • by Anonymous Coward

          うそー。
          弟の方が物覚えもよく、優しくていいもの作れそう。
          兄貴だと、バグレポートもハッタリかまして切り抜けようとして
          にっちもさっちもいかなくなるぞ。

          systemdの開発者は、その悪いとこ取り。

    • by Anonymous Coward

      (古典的)c言語の思想が根幹に染み付いたプログラマ(のコミュニティ)なら当然の考え方でしょ
      引数の正当性は渡す側が責任を持つもので渡された側でチェックして対処するなんて非効率

      • by Anonymous Coward

        ご冗談を。どこでそんな偏見を覚えましたか?
        C言語の API で入力チェックしてなかったら、即バグ扱いだよ.普通。

        • by Anonymous Coward on 2017年07月07日 13時39分 (#3240584)

          仕様書読んだら嫌でも覚えるんじゃないですかね。 fopen() のアクセスモード引数に既定のもの以外の文字列を渡した場合の動作は未定義です、 free() に alloc 系の関数が返したのではないポインタを渡した場合の動作は未定義です、 strcpy() にオーバーラップする文字列を渡した場合の動作は未定義です、 etc etc...

          親コメント
          • by Anonymous Coward

            「未定義」は言語やライブラリの仕様としての話であり、
            OS、あるいはそれに類するレイヤーの実装としては、できる限りの安全策、つまり、引数のチェックを行うべきであるってことですよね。

            • by Anonymous Coward
              • パフォーマンスに影響するため、チェックをしない(最小限にしている)システムはいくらでもある。
              • チェックをしなくても仕様を満たしている以上、『即バグ扱い』は言い過ぎ。
              • by Anonymous Coward

                > パフォーマンスに影響するため、チェックをしない(最小限にしている)システムはいくらでもある。

                というより、そういう実装を許すために他の言語ではチェックを義務付けているようなものも言語仕様で未定義にしている。ゼロオーバーヘッドの代償。

        • by Anonymous Coward

          fclose(NULL); とか知らない?

          • by Anonymous Coward

            うーん。ポインタ・デリファレンスの問題と引数のはなしを混同している時点でまともに C言語でプログラムしたことがないのがわかってしまうのだが...

            このあたりの誤解されやすさが、C言語の欠陥なんだろうな。

            • by Anonymous Coward

              fclose は引数の NULL チェックをしていないぞ、という指摘なんだがどこにポインタ・デリファレンスが絡んでくるの?

              • by Anonymous Coward

                いや、もうこれ、「知りたかったら勉強してねとしか」としか答えようがないな。

              • by Anonymous Coward

                開いていないファイルを閉じる意味はないのでNULLチェックも不要だろう…
                ついでにいうとファイルを開いて閉じるだけのソフトは実用上意味がないのでfcloseにNULLを参照しているポインタを渡すようなプログラムは多分他にもバグがある。

              • by Anonymous Coward
                fcloseは不正引数のチェックはしてる
                manにあるようにEBADF返すケースはあるわけでしょ
                そこで不正ポインタのチェックをしていないだけ(そもそもCではできない)
              • by Anonymous Coward
                自分の無知がばれたので煙に巻こうとしてるけど、それすら出来ないほど知識がなかったって感じだな。
              • by Anonymous Coward

                >開いていないファイルを閉じる意味はないのでNULLチェックも不要だろう…
                『C言語の API で入力チェックしてなかったら、即バグ扱いだよ.普通。』って言ったのは (#3240550) だからね。

              • by Anonymous Coward

                fcloseは普通のAPIではなく特殊なAPIなので問題ない。
                ではだめですか?正直これに関しては下手にチェックするよりエラー吐かせるほうがデバッグが楽。
                くどいようだが実用上この関数にNULLを渡すようなプログラムは危ない。

              • by Anonymous Coward

                >そこで不正ポインタのチェックをしていないだけ(そもそもCではできない)
                その理屈だと free には NULL を渡しても問題ないこととの整合性が取れない。

              • by Anonymous Coward

                分かりやすい例として fclose を挙げたけど、それだけじゃないのは#3240584 [srad.jp]が示してるとおりなんだよなぁ…
                他にも fs0x7f 氏が昔日記で挙げた事例 [srad.jp]なんかもある。

              • by Anonymous Coward
                昔は落ちてたんだよfreeも
      • by Anonymous Coward

        memcpy()の使い方を間違えた馬鹿に対してLinusの言葉
        http://gihyo.jp/dev/clip/01/orangenews/vol60/0007 [gihyo.jp]

        • by Anonymous Coward

          memcpy()の使い方を間違えた馬鹿に対してLinusの言葉
          http://gihyo.jp/dev/clip/01/orangenews/vol60/0007 [gihyo.jp]

          ふむ。

          memcpy()の実装変更でFlashが動かなくなった件で、「どっちの責任なのよ」てな論争にLinusが参戦していた、というのは理解した。
          だが、この記事の中に「memcpy()の使い方を間違えた馬鹿に対してLinusの言葉」はどこにあるんだ?

          確かに、

          Linus側は「Linuxカーネルは『no regression』ルールを厳守しなければならず,よほどの理由がないかぎり利用側に影響を与える変更は行ってはならない」とglibcチームを非難しています。

          とあるが、これはLinusの言葉とはこの記事の書き方

    • by Anonymous Coward

      pulseaudio の欠陥って何ですか?

      私は、以前、pulseaudio を嫌っていて、細かいプログラムを書いて、私の環境から排除したりしていたのですが、
      ある時、使いみちを思いついて、今現在は使っています。

      当初よりは、効率性も上がっているのか、CPU 使用率もそれほど高くない気がします。

      以前、私自身が pulseaudio の、どの部分を嫌っていたのか忘れてしまったのですが、
      欠陥と呼べるような、明らかな誤りって指摘されていたりするのでしょうか?

      • by Anonymous Coward on 2017年07月07日 15時56分 (#3240690)

        今はもうバグは少ないと思います。
        以前PulseAudioをめちゃくちゃ批判していた人も謝罪 [blogspot.jp]しています。
        何が嫌われたかというと、苦労してOSSからALSAに移行したばかりのタイミングで
        RedHatの七光を使ってバグだらけのまま低品質な製品を押しつけただけであり、
        デザイン自体は悪くなかったはずなんです。実際バグを減らした今では受け入れられています。
        昔のバグを知りたいのであれば、JeffreyさんのブログでもPAのトラッカーでもいくらでも見ることができますよ。

        親コメント
    • by Anonymous Coward

      systemdの設計思想に文句を言えるほど知ってるわけではないので、そっちは置いておくとして。

      先頭数字のユーザ名でrootになるのは。「お、おう。。。」という感じでスルーするぐらいライトユーザです。。
      もちろん、そういう設定しませんので。

      > 余計なこと

      systemdの「余計」は何ですかね。

      単なるユーザとしては、コマンドをサービスにできる標準的方法として、便利に使ってるのですが。
      ログまで制御してくれるので、おせっかいというか、便利というか微妙なところですが。

      特に、止まったら再度起動してくれるのは、前のinitはしてくれなかった機能ですが、
      よく使うので採用してます。

      なので「init」にはなかなか「普通」が定義できず、Fatも悪くないような気がします。
      入ってる機能がいやなら使わなければいいだけだし。。

あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall

処理中...