Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

刷课机退掉了我一半的课??太可怕了! #30

Closed
2 tasks done
cbwang2016 opened this issue Feb 20, 2020 · 6 comments
Closed
2 tasks done

刷课机退掉了我一半的课??太可怕了! #30

cbwang2016 opened this issue Feb 20, 2020 · 6 comments
Labels
question Further information is requested

Comments

@cbwang2016
Copy link

cbwang2016 commented Feb 20, 2020

我已经哭死了。。。
逻辑导论本身都刷上了,又给退了...真的太可怕了
麻烦作者好好检查一下有没有bug...

Check List

Version / Environment

System infomation: [Windows10 64bit] ( Windows10 64bit, MacOS 10.13.6, Ubuntu 18.04.3 amd64, ... )
Python version: [Python 3.7.4 ] ( run python3 --version )
AutoElective version: [3.0.8] ( run python3 main.py --version )

Config

除了学号/密码外的其他配置
supply_cancel_page = 1
refresh_interval = 0.1
random_deviation = 0.2
iaaa_client_timeout = 20
elective_client_timeout = 20
elective_client_pool_size = 1
login_loop_interval = 1
debug_print_request = false
debug_dump_request = false
[monitor]
; host str
; port int
host = 127.0.0.1
port = 7074

[course:bug_1]

name = 数据结构与算法 (B)
class = 1
school = 地球与空间科学学院

Issue Description

不知道为什么,开启刷课机过了一段时间之后,就把我一半的课退掉了。

What

不知道为什么,开启刷课机过了一段时间之后,就把我一半的课退掉了。

Console Log

由于Windows终端行数限制,Log被刷上去之后丢失了

Reproduce

如有必要,提供复现的步骤

@cbwang2016 cbwang2016 changed the title 刷课机退掉了我一半的课?? 刷课机退掉了我一半的课??太可怕了! Feb 20, 2020
@xmcp
Copy link

xmcp commented Feb 20, 2020

看洞里有人说用chrome插件的刷课机也出了问题?
这个repo的代码看起来没啥大问题,我推测可能是elective自己有一些race condition之类的bug,在访问频繁的时候容易出问题。
如果是这样的话,调低刷新频率可能有帮助。

@cbwang2016
Copy link
Author

@xmcp 那请问你觉得多大的刷新频率合适呢?我也早就猜测elective的race condition可能会导致退课了,elective线程不安全有很多明显的特征……结果没想到真的发生在了我身上,哎………………

@zhongxinghong
Copy link
Owner

按照 parser.py 应该是解不出 退选 的 DOM 的,除非选课网有bug或者lxml有bug,至少至今我不清楚这个问题在哪(如果它真的发生了)

@cbwang2016
Copy link
Author

@zhongxinghong 不一定是parser.py的问题,elective很多时候给出100/0和100/200这种选课人数,就是明显的unsafe证据……

@zhongxinghong
Copy link
Owner

那只能说是选课网的问题,没有日志的话我也没法分析错误在哪... 去年有人确实刷错过班,这个可能是因为选课网race,但是没有dump response我也分析不了,只能给出一种假象的猜测... 此外我在新版加了对 180/0 这种情况选课时的错误捕获,并且会在文件 error log 里记录这个错误,如果它真的发生了,你应该能在日志里找到它

@zhongxinghong zhongxinghong added bug Something isn't working question Further information is requested and removed bug Something isn't working labels Feb 20, 2020
@pkulirunze
Copy link

同学您好,我们是《北大青年》的记者,正在关注刷课机相关问题。请问您是否愿意接受我们的采访,向我们提供更多有关信息呢?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

4 participants