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

When starting firehose from a snapshot on kylin, nodeos terminates with DMLOG FPRINTF_FAILURE_TERMINATED #724

Closed
matthewdarwin opened this issue Sep 9, 2024 · 9 comments · Fixed by #732, #733, #739 or #897
Labels
more-info More information requested from issue reporter

Comments

@matthewdarwin
Copy link

matthewdarwin commented Sep 9, 2024

When starting firehose from a snapshot on kylin, nodeos terminates with

Sep  9 14:30:37 kylin-sfdm42 nodeos[2291398]: DMLOG FPRINTF_FAILED failed written=0 remaining=28 1 Bad file descriptor
Sep  9 14:30:37 kylin-sfdm42 nodeos[2291398]: DMLOG FPRINTF_FAILURE_TERMINATED

Nodeos will exit and if restarted will continue where it left off, so eventually it stops exiting and runs live against latest blocks.
(note there is a bug currently in firehose-core where firehose doesn't exit on EOF, this is already fixed and will be merged into future version of fireantelope... ref streamingfast/firehose-core#66)

This nodeos stopping seems reproducible on spring 1.0-final and 1.0-rc3, but not on 1.0-rc2.

My crude understanding of how this is meant to work is that if the nodeos STDOUT buffer gets full it it is supposed to apply backpressure to nodeos to stop syncing blocks and wait until STDOUT buffer empties enough to continue syncing. Maybe some recent refactoring with forked blocks handling changed behaviour?

nodeos config.ini:

... (usual stuff)
deep-mind = true
contracts-console = true
api-accept-transactions = false

fireantelope config.yml:

start:
  args:
    - reader-node-stdin
  flags:
    log-verbosity: 0
    log-to-file: false
@matthewdarwin
Copy link
Author

Working logging.json for firehose

logging.json

@heifner
Copy link
Member

heifner commented Sep 9, 2024

Running with: read-mode = head

@arhag arhag added enhancement New feature or request 👍 lgtm and removed triage labels Sep 9, 2024
@heifner heifner self-assigned this Sep 9, 2024
@heifner heifner added the OCI Work exclusive to OCI team label Sep 9, 2024
heifner added a commit that referenced this issue Sep 10, 2024
@heifner heifner linked a pull request Sep 10, 2024 that will close this issue
heifner added a commit that referenced this issue Sep 10, 2024
@heifner heifner linked a pull request Sep 10, 2024 that will close this issue
@heifner heifner added this to the Spring v1.0.1 milestone Sep 10, 2024
@heifner heifner moved this from Todo to In Progress in Team Backlog Sep 10, 2024
@heifner heifner moved this from In Progress to Awaiting Review in Team Backlog Sep 10, 2024
heifner added a commit that referenced this issue Sep 10, 2024
[1.0.1] Flush deep-mind logger after each message
@spoonincode
Copy link
Member

Can you share whatever script or command you're using for launching nodeos + firehose together? My assumption is something as simple as nodeos | fireantelope but I want to make sure nothing else more complex in play.

heifner added a commit that referenced this issue Sep 10, 2024
[1.0.1 -> main] Flush deep-mind logger after each message
@github-project-automation github-project-automation bot moved this from Awaiting Review to Done in Team Backlog Sep 10, 2024
@matthewdarwin
Copy link
Author

matthewdarwin commented Sep 10, 2024

nodeos | fireantelope it is (with some command line arguments to point at the correct config file)

heifner added a commit that referenced this issue Sep 10, 2024
Add ability to deep-mind log to stderr
@fschoell
Copy link

@heifner this still seems to be an issue on v1.0.1.
And it also happened on an EOS node recently that was running in live mode at 2 blocks/s

@heifner heifner removed their assignment Sep 16, 2024
@heifner heifner reopened this Sep 16, 2024
@github-project-automation github-project-automation bot moved this from Done to Todo in Team Backlog Sep 16, 2024
@arhag arhag modified the milestones: Spring v1.0.1, Spring v1.0.2 Sep 17, 2024
@bhazzard
Copy link

@matthewdarwin and @fschoell are you able to reproduce this using the same version of firehose with Leap v5.0.0? I'd like to rule out that this isn't caused by a change in Firehose, rather than in Spring.

@bhazzard bhazzard added more-info More information requested from issue reporter and removed enhancement New feature or request 👍 lgtm OCI Work exclusive to OCI team labels Sep 17, 2024
@arhag arhag removed this from the Spring v1.0.2 milestone Sep 23, 2024
@spoonincode
Copy link
Member

Please try 1.0.3, there is a fix in it that could have resolved this.

@matthewdarwin
Copy link
Author

We upgraded to 1.0.3 yesterday

@spoonincode spoonincode linked a pull request Nov 5, 2024 that will close this issue
@spoonincode
Copy link
Member

really quite confident this has been resolved in 1.0.3, feel free to comment or reopen if discovering otherwise

@github-project-automation github-project-automation bot moved this from Todo to Done in Team Backlog Nov 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment