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

Fatal OSError caused service to go down #768

Closed
dominickp opened this issue Jan 12, 2023 · 6 comments
Closed

Fatal OSError caused service to go down #768

dominickp opened this issue Jan 12, 2023 · 6 comments

Comments

@dominickp
Copy link

dominickp commented Jan 12, 2023

I've had my instance up for a while but noticed today it wasn't responding (which makes me think the recommended healthcheck may not be working). Manually restarting the nitter container resolved the problem but I'm not sure what caused it or what this error even means, seems to be an encoding issue in the error message.

InternalError: ����VJ-*�/*V���V�M-.NLOU�R�/K-RHN,HL�,�T�QJ�O�
�����������^c�3

Starting Nitter at https://REDACTED
Connected to Redis at nitter-redis:6379
Starting Nitter at https://REDACTED
Connected to Redis at nitter-redis:6379
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
index 0 not in 1 .. 12
Starting Nitter at https://REDACTED
Connected to Redis at nitter-redis:6379
Starting Nitter at https://REDACTED
Connected to Redis at nitter-redis:6379
InternalError: ����VJ-*�/*V���V�M-.NLOU�R�/K-RHN,HL�,�T�QJ�O�
�����������^c�3
error: OSError, msg: Operation timed out, token: (tok: "REDACTED", init: (seconds: 1671658966, nanosecond: 524868343), lastUse: (seconds: 1671661193, nanosecond: 165012105), pending: 1, apis: (data: @[(hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: -8667131158406858863, key: tweet, val: (remaining: 178, reset: 1671661599)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0)), (hcode: 0, key: userShow, val: (remaining: 0, reset: 0))], counter: 1)), url: https://api.twitter.com/2/timeline/conversation/20.json?include_profile_interstitial_type=0&include_blocking=0&include_blocked_by=0&include_followed_by=0&include_want_retweets=0&include_mute_edge=0&include_can_dm=0&include_can_media_tag=1&skip_status=1&cards_platform=Web-12&include_cards=1&include_composer_source=false&include_reply_count=1&tweet_mode=extended&include_entities=true&include_user_entities=true&include_ext_media_color=false&send_error_codes=true&simple_quoted_tweet=true&include_quote_count=true&ext=mediaStats&include_ext_alt_text=true&include_ext_media_availability=true&count=20

My healthcheck is the following:

#...
    healthcheck:
      test: wget -nv --tries=1 --spider http://127.0.0.1:8080/Jack/status/20 || exit 1
      interval: 30s
      timeout: 5s
      retries: 2

The container appeared "healthy" in Portainer before I restarted it. I tried loading "/Jack" and it was timing out, but I forgot to test "/Jack/status/20" before I restarted it.

Anyone have any idea what went wrong here? Or why my healthcheck may not be working? I'm not as familiar with wget but perhaps there isn't a default timeout or something.

@zedeus
Copy link
Owner

zedeus commented Jun 17, 2023

Does this still happen?

@Dominick-Peluso-Bose
Copy link

I still see nim errors from time to time which seem to kill the container but I haven't seen that specific OSError for some time

Connected to Redis at nitter-redis:6379
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
index 0 not in 1 .. 12
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
index 0 not in 1 .. 12
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
index 0 not in 1 .. 12
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
index 0 not in 1 .. 12

@zedeus
Copy link
Owner

zedeus commented Jun 23, 2023

What is the commit listed at the bottom of the /about page for your instance?

@dominickp
Copy link
Author

dominickp commented Aug 15, 2023

What is the commit listed at the bottom of the /about page for your instance?

d7ca353

@zedeus
I'm still seeing something similar unfortunately.

404 Not Found:  --- url: https://api.twitter.com/graphql/u7wQyGi6oExe8_TRWGMq4Q/UserResultByScreenNameQuery?variables=%7B%22screen_name%22%3A+%22elonmusk%22%7D&features=%7B%22android_graphql_skip_api_media_color_palette%22%3Afalse%2C%22blue_business_profile_image_shape_enabled%22%3Afalse%2C%22creator_subscriptions_subscription_count_enabled%22%3Afalse%2C%22creator_subscriptions_tweet_preview_api_enabled%22%3Atrue%2C%22freedom_of_speech_not_reach_fetch_enabled%22%3Afalse%2C%22graphql_is_translatable_rweb_tweet_is_translatable_enabled%22%3Afalse%2C%22hidden_profile_likes_enabled%22%3Afalse%2C%22highlights_tweets_tab_ui_enabled%22%3Afalse%2C%22interactive_text_enabled%22%3Afalse%2C%22longform_notetweets_consumption_enabled%22%3Atrue%2C%22longform_notetweets_inline_media_enabled%22%3Afalse%2C%22longform_notetweets_richtext_consumption_enabled%22%3Atrue%2C%22longform_notetweets_rich_text_read_enabled%22%3Afalse%2C%22responsive_web_edit_tweet_api_enabled%22%3Afalse%2C%22responsive_web_enhance_cards_enabled%22%3Afalse%2C%22responsive_web_graphql_exclude_directive_enabled%22%3Atrue%2C%22responsive_web_graphql_skip_user_profile_image_extensions_enabled%22%3Afalse%2C%22responsive_web_graphql_timeline_navigation_enabled%22%3Afalse%2C%22responsive_web_media_download_video_enabled%22%3Afalse%2C%22responsive_web_text_conversations_enabled%22%3Afalse%2C%22responsive_web_twitter_article_tweet_consumption_enabled%22%3Afalse%2C%22responsive_web_twitter_blue_verified_badge_is_enabled%22%3Atrue%2C%22rweb_lists_timeline_redesign_enabled%22%3Atrue%2C%22spaces_2022_h2_clipping%22%3Atrue%2C%22spaces_2022_h2_spaces_communities%22%3Atrue%2C%22standardized_nudges_misinfo%22%3Afalse%2C%22subscriptions_verification_info_enabled%22%3Atrue%2C%22subscriptions_verification_info_reason_enabled%22%3Atrue%2C%22subscriptions_verification_info_verified_since_enabled%22%3Atrue%2C%22super_follow_badge_privacy_enabled%22%3Afalse%2C%22super_follow_exclusive_tweet_notifications_enabled%22%3Afalse%2C%22super_follow_tweet_api_enabled%22%3Afalse%2C%22super_follow_user_api_enabled%22%3Afalse%2C%22tweet_awards_web_tipping_enabled%22%3Afalse%2C%22tweet_with_visibility_results_prefer_gql_limited_actions_policy_enabled%22%3Afalse%2C%22tweetypie_unmention_optimization_enabled%22%3Afalse%2C%22unified_cards_ad_metadata_container_dynamic_card_content_query_enabled%22%3Afalse%2C%22verified_phone_label_enabled%22%3Afalse%2C%22vibe_api_enabled%22%3Afalse%2C%22view_counts_everywhere_api_enabled%22%3Afalse%7D
ERROR fatal.nim(53)            sysFatal
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
asyncfutures.nim(389)    read
packedjson.nim(294, 28) `false` unexpected end of object

I am having trouble getting it running now. A simple restart doesn't seem to do it this time.

@zedeus
Copy link
Owner

zedeus commented Aug 15, 2023

You're not still seeing that, this one is new and applies to all endpoints. Nitter is completely broken at the moment.

@dominickp
Copy link
Author

Sorry about that. I just read #983

I'm going to close this issue.

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

No branches or pull requests

3 participants