data-preservation-programs / singularity

Tool for onboarding data to the Filecoin Network
Other
18 stars 15 forks source link

[Bug]: Deal-tracker process fails to run / unable to parse deal id NaN #440

Open brianeggert opened 2 months ago

brianeggert commented 2 months ago

Description

Singularity deal-tracker process fails to update the status of new deals. It still adds new deals with a proposed state from the local db but cannot obtain deal ids or track status changes once the deals are on chain.

Steps to Reproduce

  1. Run below commands
    singularity run deal-tracker
    singularity deal list
  2. All new deals in singularity deal list output will remain in proposed state regardless of on-chain status
  3. See error
    2024-07-10T15:10:58.936040435+00:00 stderr F 2024-07-10T15:10:58.935Z   INFO    dealtracker dealtracker/dealtracker.go:432  tracking deals for wallet f0xxxxxxx
    2024-07-10T15:10:59.091725316+00:00 stderr F 2024-07-10T15:10:59.091Z   INFO    dealtracker dealtracker/dealtracker.go:219  getting deal state from https://marketdeals.s3.amazonaws.com/StateMarketDeals.json.zst
    2024-07-10T15:11:07.284665313+00:00 stderr F 2024-07-10T15:11:07.284Z   INFO    dealtracker dealtracker/dealtracker.go:479  updated 0 deals and inserted 0 deals
    2024-07-10T15:11:07.285263176+00:00 stderr F 2024-07-10T15:11:07.284Z   ERROR   dealtracker dealtracker/dealtracker.go:324  failed to run once  {"error": "failed to convert deal id NaN to int: strconv.ParseUint: parsing \"NaN\": invalid syntax", "errorVerbose": "failed to convert deal id NaN to int: strconv.ParseUint: parsing \"NaN\": invalid syntax\n(1) attached stack trace\n  -- stack trace:\n  | github.com/data-preservation-programs/singularity/service/dealtracker.(*DealTracker).runOnce\n  | \t/app/service/dealtracker/dealtracker.go:576\n  | [...repeated from below...]\nWraps: (2) attached stack trace\n  -- stack trace:\n  | github.com/data-preservation-programs/singularity/service/dealtracker.(*DealTracker).trackDeal\n  | \t/app/service/dealtracker/dealtracker.go:638\n  | github.com/data-preservation-programs/singularity/service/dealtracker.(*DealTracker).runOnce\n  | \t/app/service/dealtracker/dealtracker.go:481\n  | github.com/data-preservation-programs/singularity/service/dealtracker.(*DealTracker).Start.func2\n  | \t/app/service/dealtracker/dealtracker.go:315\n  | runtime.goexit\n  | \t/usr/local/go/src/runtime/asm_amd64.s:1598\nWraps: (3) failed to convert deal id NaN to int\nWraps: (4) strconv.ParseUint: parsing \"NaN\"\nWraps: (5) invalid syntax\nError types: (1) *withstack.withStack (2) *withstack.withStack (3)

Version

singularity v0.5.14-64ea2bd

Operating System

Linux

Database Backend

PostgreSQL

Additional context

No response

parkan commented 1 month ago

FYI Glif team is working on addressing the malformed entity to work around this and we are expecting confirmation soon

ideally the parser wouldn't panic on any individual malformed deal and continue optimistically but we are hoping to get unblocked on this imminently

parkan commented 1 month ago

this has not been addressed at the singularity panic handling level, however Glif has patched their own parser to no longer emit malformed entities like this so the issue is moot until a future API side degradation comes up