freeCodeCamp / classroom

BSD 3-Clause "New" or "Revised" License
144 stars 121 forks source link

Error with fetchStudentData() function when trying to access the dashboard #418

Closed ngillux closed 1 year ago

ngillux commented 1 year ago

Describe the bug When clicking the 'View Class' button, an error occurs associated with the fetchStudentData() function. Note, that this error occurs after a codespaces is stopped and then accessed again (i.e., used after a day or two).

To Reproduce Steps to reproduce the behavior:

  1. Create a codespace and go through the codespaces setup
  2. Create a class
  3. Don't use codespace for ~24 hours or more
  4. After waiting period access codespace click 'View Class' => See error.

Expected behavior The student classroom activity dashboard should be shown.

Screenshots

Screenshot 2023-08-01 at 5 19 12 PM
ngillux commented 1 year ago

Hi @GuillermoFloresV this is a weird error, it seems to get resolved after resetting the port visibility from Public -> Private -> Public again, although, I'm not sure if that's the actual solution of there's some weird session issue happening.

utsab commented 1 year ago

@ngillux I believe we have a workaround for this bug. If you restart the app (and close the previous browser tabs for the classroom app), the problem seems to go away. Please reopen this bug persists in spite of the workaround.

lloydchang commented 1 year ago

@Chrisdbeloved1 and I encountered a different issue. However, it is related because of similar symptoms after clicking the "Classes" button.

In Chris' situation, a node process was still running in the background that bounded to TCP port 3000, and a new npm run develop process would bind to TCP port 3001. We needed to run lsof -i :3000 and kill [PID] or the alternative of npx kill-port 3000 to workaround the issue.

Below are the details I sent to Chris via Slack to diagnose the issue: From [https://codedayorg.slack.com/archives/C05ENB1VAKT/p1691170696145189](https://codedayorg.slack.com/archives/C05ENB1VAKT/p1691170696145189) ``` lsof -i :3000 ``` ``` node 17370 17384 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17384 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17384 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17384 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17384 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17384 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17384 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17384 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17384 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17384 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17384 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17384 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17384 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17384 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17384 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17384 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17384 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17384 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17384 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17385 node node cwd DIR 0,58 4096 1503412 / node 17370 17385 node node rtd DIR 0,58 4096 1503412 / node 17370 17385 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17385 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17385 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17385 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17385 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17385 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17385 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17385 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17385 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17385 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17385 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17385 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17385 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17385 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17385 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17385 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17385 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17385 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17385 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17385 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17385 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17385 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17385 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17385 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17385 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17385 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17385 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17386 node node cwd DIR 0,58 4096 1503412 / node 17370 17386 node node rtd DIR 0,58 4096 1503412 / node 17370 17386 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17386 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17386 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17386 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17386 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17386 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17386 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17386 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17386 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17386 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17386 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17386 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17386 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17386 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17386 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17386 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17386 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17386 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17386 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17386 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17386 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17386 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17386 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17386 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17386 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17386 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17386 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17387 node node cwd DIR 0,58 4096 1503412 / node 17370 17387 node node rtd DIR 0,58 4096 1503412 / node 17370 17387 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17387 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17387 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17387 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17387 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17387 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17387 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17387 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17387 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17387 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17387 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17387 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17387 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17387 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17387 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17387 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17387 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17387 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17387 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17387 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17387 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17387 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17387 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17387 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17387 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17387 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17387 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17388 node node cwd DIR 0,58 4096 1503412 / node 17370 17388 node node rtd DIR 0,58 4096 1503412 / node 17370 17388 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17388 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17388 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17388 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17388 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17388 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17388 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17388 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17388 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17388 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17388 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17388 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17388 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17388 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17388 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17388 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17388 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17388 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17388 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17388 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17388 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17388 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17388 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17388 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17388 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17388 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17388 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17389 node node cwd DIR 0,58 4096 1503412 / node 17370 17389 node node rtd DIR 0,58 4096 1503412 / node 17370 17389 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17389 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17389 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17389 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17389 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17389 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17389 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17389 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17389 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17389 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17389 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17389 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17389 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17389 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17389 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17389 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17389 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17389 node node 9u a_inode 0,14 0 13372 [eventpoll:10,12] node 17370 17389 node node 10r FIFO 0,13 0t0 342436 pipe node 17370 17389 node node 11w FIFO 0,13 0t0 342436 pipe node 17370 17389 node node 12u a_inode 0,14 0 13372 [eventfd:77] node 17370 17389 node node 13u a_inode 0,14 0 13372 [eventpoll:0,14,16,18] node 17370 17389 node node 14r FIFO 0,13 0t0 341964 pipe node 17370 17389 node node 15w FIFO 0,13 0t0 341964 pipe node 17370 17389 node node 16u a_inode 0,14 0 13372 [eventfd:78] node 17370 17389 node node 17r CHR 1,3 0t0 5 /dev/null node 17370 17389 node node 18u IPv4 342443 0t0 TCP localhost:34732->localhost:33069 (ESTABLISHED) node 17370 17390 node node cwd DIR 0,58 4096 1503412 / node 17370 17390 node node rtd DIR 0,58 4096 1503412 / node 17370 17390 node node txt REG 8,17 82215032 2583122 /vscode/bin/linux-x64/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/node node 17370 17390 node node mem REG 0,58 1922136 1443057 /usr/lib/x86_64-linux-gnu/libc.so.6 node 17370 17390 node node mem REG 0,58 14480 1443118 /usr/lib/x86_64-linux-gnu/libpthread.so.0 node 17370 17390 node node mem REG 0,58 125312 1443074 /usr/lib/x86_64-linux-gnu/libgcc_s.so.1 node 17370 17390 node node mem REG 0,58 907784 1443091 /usr/lib/x86_64-linux-gnu/libm.so.6 node 17370 17390 node node mem REG 0,58 2190440 1443131 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30 node 17370 17390 node node mem REG 0,58 14480 1443065 /usr/lib/x86_64-linux-gnu/libdl.so.2 node 17370 17390 node node mem REG 0,58 210968 1443044 /usr/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 node 17370 17390 node node 0r FIFO 0,13 0t0 342421 pipe node 17370 17390 node node 1w FIFO 0,13 0t0 342422 pipe node 17370 17390 node node 2w FIFO 0,13 0t0 342423 pipe node 17370 17390 node node 3u a_inode 0,14 0 13372 [eventpoll] node 17370 17390 node node 4r FIFO 0,13 0t0 342434 pipe node 17370 17390 node node 5w FIFO 0,13 0t0 342434 pipe node 17370 17390 node node 6r FIFO 0,13 0t0 342435 pipe node 17370 17390 node node 7w FIFO 0,13 0t0 342435 pipe node 17370 17390 node node 8u a_inode 0,14 0 13372 [eventfd:76] node 17370 17390 node 9u a_inod 0,14 0 ``` ``` kill [PID] ``` where [PID] is the process ID you need to kill the process bounded to TCP 3000 port Run: ``` lsof -i :3000 ``` a second time to see that a process is no longer binding to TCP 3000 port ``` npm run develop ``` to run the application, and it should be able to bind to TCP 3000 port > **lsof** is a command meaning "list open files", which is used in many [Unix-like](https://en.wikipedia.org/wiki/Unix-like) systems to report a list of all open files and the processes that opened them. https://en.wikipedia.org/wiki/Lsof The above instructions are similar to https://www.brettjankord.com/notes/kill-process-running-on-port/ > Alternatively, you can run `npx kill-port 3000` to kill unresponsive servers.