https://bugzilla.wikimedia.org/show_bug.cgi?id=71519

--- Comment #24 from Aude <[email protected]> ---
I have narrowed down this particular issue (the exception) to the
ReferenceSerializer.

It calls $reference->getHash() and then the value of the reference's snaks gets
corrupt.

Before $reference->getHash(), it is:

Wikibase\DataModel\Reference::__set_state(array(
   'snaks' => 
  Wikibase\DataModel\Snak\SnakList::__set_state(array(
     0 => 
    Wikibase\DataModel\Snak\PropertyValueSnak::__set_state(array(
       'dataValue' => 
      Wikibase\DataModel\Entity\EntityIdValue::__set_state(array(
         'entityId' => 
        Wikibase\DataModel\Entity\ItemId::__set_state(array(
           'entityType' => 'item',
           'serialization' => 'Q7825',
        )),
      )),
       'propertyId' => 
      Wikibase\DataModel\Entity\PropertyId::__set_state(array(
         'entityType' => 'property',
         'serialization' => 'P143',
      )),
    )),
     1 => 
    Wikibase\DataModel\Snak\PropertyValueSnak::__set_state(array(
       'dataValue' => 
      DataValues\StringValue::__set_state(array(
         'value' =>
'http://www.wto.org/english/thewto_e/whatis_e/tif_e/org6_e.htm',
      )),
       'propertyId' => 
      Wikibase\DataModel\Entity\PropertyId::__set_state(array(
         'entityType' => 'property',
         'serialization' => 'P854',
      )),
    )),
     2 => 
    Wikibase\DataModel\Snak\PropertyValueSnak::__set_state(array(
       'dataValue' => 
      DataValues\StringValue::__set_state(array(
         'value' => 'Germany [Member since] 1 January 1995',
      )),
       'propertyId' => 
      Wikibase\DataModel\Entity\PropertyId::__set_state(array(
         'entityType' => 'property',
         'serialization' => 'P387',
      )),
    )),
  )),
))

after, the reference become:

Wikibase\DataModel\Reference::__set_state(array(
   'snaks' => -6414602628423053921,
))

var_dump of $references (ReferenceList):

object(Wikibase\DataModel\ReferenceList)#12660 (1) {
  ["storage":"SplObjectStorage":private]=>
  array(3) {
    ["000000007f160aa30000000042c20a5a"]=>
    array(2) {
      ["obj"]=>
      object(Wikibase\DataModel\Reference)#12659 (1) {
        ["snaks":"Wikibase\DataModel\Reference":private]=>
        object(Wikibase\DataModel\Snak\SnakList)#12662 (4) {
          ["offsetHashes":protected]=>
          array(0) {
          }
          ["acceptDuplicates":protected]=>
          bool(false)
          ["indexOffset":protected]=>
          int(0)
          ["storage":"ArrayObject":private]=>
          array(3) {
            [0]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12663 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(Wikibase\DataModel\Entity\EntityIdValue)#12664 (1) {
               
["entityId":"Wikibase\DataModel\Entity\EntityIdValue":private]=>
                object(Wikibase\DataModel\Entity\ItemId)#12669 (2) {
                  ["entityType":protected]=>
                  string(4) "item"
                  ["serialization":protected]=>
                  string(7) "Q488589"
                }
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12665 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P143"
              }
            }
            [1]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12666 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(DataValues\StringValue)#12668 (1) {
                ["value":protected]=>
                string(69)
"http://www.bmwi.de/DE/Themen/Aussenwirtschaft/Handelspolitik/wto.html";
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12667 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P854"
              }
            }
            [2]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12670 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(DataValues\StringValue)#12671 (1) {
                ["value":protected]=>
                string(177) "Die Welthandelsorganisation ("World Trade
Organization" = WTO) wurde 1995 in Genf als Nachfolgerin des sog.
GATT-Abkommens ("General Agreement on Tariffs and Trade") gegründet."
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12672 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P387"
              }
            }
          }
        }
      }
      ["inf"]=>
      NULL
    }
    ["000000007f160a510000000042c20a5a"]=>
    array(2) {
      ["obj"]=>
      object(Wikibase\DataModel\Reference)#12673 (1) {
        ["snaks":"Wikibase\DataModel\Reference":private]=>
        int(8388544345007956479)
      }
      ["inf"]=>
      NULL
    }
    ["000000007f160a5d0000000042c20a5a"]=>
    array(2) {
      ["obj"]=>
      object(Wikibase\DataModel\Reference)#12685 (1) {
        ["snaks":"Wikibase\DataModel\Reference":private]=>
        object(Wikibase\DataModel\Snak\SnakList)#12686 (4) {
          ["offsetHashes":protected]=>
          array(0) {
          }
          ["acceptDuplicates":protected]=>
          bool(false)
          ["indexOffset":protected]=>
          int(0)
          ["storage":"ArrayObject":private]=>
          array(3) {
            [0]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12687 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(Wikibase\DataModel\Entity\EntityIdValue)#12688 (1) {
               
["entityId":"Wikibase\DataModel\Entity\EntityIdValue":private]=>
                object(Wikibase\DataModel\Entity\ItemId)#12693 (2) {
                  ["entityType":protected]=>
                  string(4) "item"
                  ["serialization":protected]=>
                  string(7) "Q520524"
                }
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12689 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P143"
              }
            }
            [1]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12690 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(DataValues\StringValue)#12692 (1) {
                ["value":protected]=>
                string(73)
"http://www.bpb.de/wissen/1V2YPW,0,0,WTO_%96_World_Trade_Organization.html";
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12691 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P854"
              }
            }
            [2]=>
            object(Wikibase\DataModel\Snak\PropertyValueSnak)#12694 (2) {
             
["dataValue":"Wikibase\DataModel\Snak\PropertyValueSnak":private]=>
              object(DataValues\StringValue)#12695 (1) {
                ["value":protected]=>
                string(39) "Deutschland [Mitglied seit] Januar 1995"
              }
              ["propertyId":protected]=>
              object(Wikibase\DataModel\Entity\PropertyId)#12696 (2) {
                ["entityType":protected]=>
                string(8) "property"
                ["serialization":protected]=>
                string(4) "P387"
              }
            }
          }
        }
      }
      ["inf"]=>
      NULL
    }
  }
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
Wikibugs-l mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/wikibugs-l

Reply via email to