Metadata.yaml not populated

Hi mates

Since a couple of days seems that the .metadata.yaml in the uploads folder are not being fully populated. When I upload a new g-code the entry with the checksum is added but no more information. Seems to be related with the Filament manager plugin (last version too).

I've tried different G-codes, renaming old gcodes, same gcode generated in Cura 3.3.1 and in Simplify 4.0.0

OctoPrint version : 1.3.8
OctoPi version : 0.14.0
Anycubic Kossel Linear Plus Running Klipper V0.60 (the issue is not firmware related)
Can't find anything in logs already checked them.

Bellow I paste the .metadata.yaml for 3 gcodes first and third worked fine. Second no.

ALP_3DBenchy.gcode:
analysis:
dimensions:
depth: 0.0
height: 0.0
width: 80.0
estimatedPrintTime: 11.617956330275058
filament:
tool0:
length: 15.0
volume: 0.0
printingArea:
maxX: 40.0
maxY: -103.0
maxZ: 0.15
minX: -40.0
minY: -103.0
minZ: 0.15
hash: af23938268f534461af843bd0968b125409dde71
links: []
notes: []
ALP_Extruder_Lever_for_TPE.gcode:
hash: bee3c0d4a0aae4d4db23aa758dd1e9910bb3652f
ALP_Photon_dlp_test3.gcode:
analysis:
dimensions:
depth: 148.8
height: 29.835
width: 81.6
estimatedPrintTime: 5860.864110497839
filament:
tool0:
length: 9962.059060001377
volume: 0.0
printingArea:
maxX: 40.8
maxY: 45.8
maxZ: 29.985
minX: -40.8
minY: -103.0
minZ: 0.15
hash: 12e0021241e3b73e40be80851ac3634f6011f413
links: []
notes: []

Do you have any clues about what could happen?

Thanks in advance

Yaml files are intolerant of some things that they don't like. I seem to recall that they don't like Windows-like line termination like \r\n, if you get the indentation wrong they can just die a miserable death, they want a newline on the last line, things like that.

Here is mine. I'm using three backticks before/after the paste of the data so that you can see the indentations that are natively in a yaml file.

CanCooler-Top.gcode:
  analysis:
    dimensions:
      depth: 92.03800000000001
      height: 30.8
      width: 92.03800000000001
    estimatedPrintTime: 26178.619222935224
    filament:
      tool0:
        length: 23457.723630000404
        volume: 0.0
    printingArea:
      maxX: 114.019
      maxY: 114.019
      maxZ: 31.1
      minX: 21.981
      minY: 21.981
      minZ: 0.3
  hash: 98efb478fa4ab7d0e445cacbf2615aff099ee739
  history:
  - printTime: 27180.565373897552
    printerProfile: _default
    success: true
    timestamp: 1525078176.102223
  statistics:
    averagePrintTime:
      _default: 27180.565373897552
    lastPrintTime:
      _default: 27180.565373897552
FanClipPlate.gcode:
  analysis:
    dimensions:
      depth: 114.578
      height: 11.2
      width: 114.594
    estimatedPrintTime: 10083.32698506719
    filament:
      tool0:
        length: 9815.046039999335
        volume: 0.0
    printingArea:
      maxX: 125.297
      maxY: 125.289
      maxZ: 11.5
      minX: 10.703
      minY: 10.711
      minZ: 0.3
  hash: 9204066e9979772acb401fd73b46065fbeeb29a9
  history:
  - printerProfile: _default
    success: false
    timestamp: 1525368742.124503
  - printTime: 11525.315382003784
    printerProfile: _default
    success: true
    timestamp: 1525380318.454341
  - printerProfile: _default
    success: false
    timestamp: 1525720020.527192
  - printerProfile: _default
    success: false
    timestamp: 1525720447.406113
  - printerProfile: _default
    success: false
    timestamp: 1525728625.005931
  - printerProfile: _default
    success: false
    timestamp: 1525728799.986381
  - printerProfile: _default
    success: false
    timestamp: 1525729431.383898
  - printerProfile: _default
    success: false
    timestamp: 1525730287.327983
  - printerProfile: _default
    success: false
    timestamp: 1525730729.61125
  - printerProfile: _default
    success: false
    timestamp: 1525730938.989248
  - printerProfile: _default
    success: false
    timestamp: 1525731122.81544
  - printerProfile: _default
    success: false
    timestamp: 1525731436.169469
  - printerProfile: _default
    success: false
    timestamp: 1528078660.676466
  statistics:
    averagePrintTime:
      _default: 11525.315382003784
    lastPrintTime:
      _default: 11525.315382003784

...etc.

To me at least, it would be helpful if you copied/pasted the information as I've done so as to preserve the formatting.

The plugin you mentioned does appear to be writing to the file, but it would be good to know what it's doing that's wrong first.

Let me chek,

ALP_3DBenchy.gcode:
  analysis:
    dimensions:
      depth: 0.0
      height: 0.0
      width: 80.0
    estimatedPrintTime: 11.617956330275058
    filament:
      tool0:
        length: 15.0
        volume: 0.0
    printingArea:
      maxX: 40.0
      maxY: -103.0
      maxZ: 0.15
      minX: -40.0
      minY: -103.0
      minZ: 0.15
  hash: af23938268f534461af843bd0968b125409dde71
  links: []
  notes: []
ALP_Extruder_Lever_for_TPE.gcode:
  hash: bee3c0d4a0aae4d4db23aa758dd1e9910bb3652f
  history:
  - printTime: 20712.380475997925
    printerProfile: _default
    success: true
    timestamp: 1528839119.855884
  statistics:
    averagePrintTime:
      _default: 20712.380475997925
    lastPrintTime:
      _default: 20712.380475997925
ALP_Photon_dlp_test3.gcode:
  analysis:
    dimensions:
      depth: 148.8
      height: 29.835
      width: 81.6
    estimatedPrintTime: 5860.864110497839
    filament:
      tool0:
        length: 9962.059060001377
        volume: 0.0
    printingArea:
      maxX: 40.8
      maxY: 45.8
      maxZ: 29.985
      minX: -40.8
      minY: -103.0
      minZ: 0.15
  hash: 12e0021241e3b73e40be80851ac3634f6011f413
  links: []
  notes: []

The whole section Analisys: it's missing.

I've checked the file and no ^M are present in my gcode.

If you're saying that turning ON the plugin seems to interfere with the core OctoPrint's part analysis on the upload function and turning it OFF again returns that functionality, I'd say that this is a bug in the Filament Manager plugin. I would guess that it has to have a hook in the upload notification and that it's not properly returning control back to the core functionality so that it can do its work.

Hi mate

I've tried even restart octoprint in safe mode (all plugins disabled) it still don't update the metadata.yaml file.

If it were me, I think I would save a copy of the current one, stop the OctoPrint service, remove the offending sections which don't include analysis (or make up fake analysis subsections) and reboot.

It's difficult to say if this is a fluke and you'll never revisit this problem or if it's something systemic to either the Filament Manager plugin or the core of OctoPrint.

Hi mate

Definitively it's a plugin issue, but still not sure what plugin. I have an old SD lying arroud, with fewer plugins installed. just loaded it into another raspberry pi. Updated the O.S (sudo apt-get update && apt-get upgrade) and updated octoprint and all the plugins. uploaded same gcodes and metadata.yaml it's being populated.

I will try to disable manually the different plugins between both SD cards and check what plugin it's causing the issue. But it's a bit obscure why booting in safe mode no data is populated.

Regards

Like I said, yaml files are fussy. Formatting is everything.

I once wrote some code that forgot one single hard return and broke the entire config.yaml file; OctoPrint wouldn't even come up.