hyudai28 / ft_irc

0 stars 0 forks source link

[CRASH]ft_ircが一定の条件下でクラッシュする。 #37

Closed hyudai28 closed 1 year ago

hyudai28 commented 1 year ago

[CRASH]ft_ircが一定の条件下でクラッシュする。

調査項目

  1. PRをチェックしてる時にクラッシュしたので状況報告

    irssiで接続し、チャンネルを作成し1文字以上情報を発信、その後放置すると以下のメッセージを残してクラッシュ terminate called after throwing an instance of 'std::out_of_range' what(): vector::_M_range_check: __n (which is 2) >= this->size() (which is 1) zsh: abort ./ft_irc

問題の内容・実装箇所の仕様

Labels

bug

バグ報告をするときに使う。
→ 修正したらクローズする

duplicate

過去に報告されているIssueと重複しているときに使う。
※ 報告者は使わない
→ 重複先のIssueにリンクしてクローズする

new

機能追加の要望や改善してほしいときに使う。
→ 実装したらクローズする

invalid

Issueの内容が間違いであるときに使う。仕様通り。 ※ 報告者は使わない
→ 対処しない理由を書いてクローズする

question

質問したいときに使う。
→ 質問・議論の答えがでたらクローズする

wontfix

認知しているけど対処しないバグのときに使う。
※ 報告者は使わない
→ 対処しない理由を書いてクローズする

Milestone

Assignee

関連するissue

資料

hyudai28 commented 1 year ago

一回壊れたやつを再度使おうとするとconnectした時点でクラッシュ

velvelhype commented 1 year ago

調査しといて std::coutコメントでどこでクラッシュしてるのか突き止めて

hyudai28 commented 1 year ago

ok,ちょっと時間もらうわ

hyudai28 commented 1 year ago

定期的にNICKが送られてきている。 既にNICKが存在するときに再度同じユーザーがNICKを送るとクラッシュしそう

hyudai28 commented 1 year ago
(base) DESKTOP-OBFCQ61% ./ft_irc 
server start
new connection -> [4]
=MSG RECEIVED======
CAP LS
NICK hyudai
USER hyudai hyudai localhost :hyudai

===================
hyudai
USER

hyudai

NICK called
capUser done (done nothing actually)

=MSG RECEIVED======
MODE * +i

===================
=MSG RECEIVED======
WHOIS hyudai

===================
=MSG RECEIVED======
PING localhost

===================
hello
disconnect: 4
=MSG RECEIVED======

===================
no cmdsnew connection -> [4]
=MSG RECEIVED======
CAP LS
NICK hyudai
USER hyudai hyudai localhost :hyudai

===================
hyudai
USER

hyudai

NICK called
capUser done (done nothing actually)

=MSG RECEIVED======
MODE * +i

===================
=MSG RECEIVED======
WHOIS hyudai

===================
=MSG RECEIVED======
PING localhost

===================
^C
hyudai28 commented 1 year ago

5分に一回メッセージを送ってる