```
2018-02-03 03:49:38,038 ERROR zuul.DependentPipelineManager: Exception while launching job mediawiki-phpunit-php55-jessie for change <Change 0x7f4308053610 407165,3>:
Traceback (most recent call last):
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/scheduler.py", line 1518, in _launchJobs
dependent_items)
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/launcher/gearman.py", line 318, in launch
destination_path = os.path.join(item.change.getBasePath(),
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/model.py", line 904, in getBasePath
self.number[-2:], self.number, self.patchset)
TypeError: 'int' object has no attribute '__getitem__'
2018-02-03 03:49:38,038 INFO zuul.Gearman: Launch job mediawiki-core-php70-phan-docker (uuid: d2f0a5b29ea84206a4d17842be5294f1) for change <Change 0x7f4308053610 407165,3> with dependent changes []
2018-02-03 03:49:38,038 ERROR zuul.DependentPipelineManager: Exception while launching job mediawiki-core-php70-phan-docker for change <Change 0x7f4308053610 407165,3>:
Traceback (most recent call last):
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/scheduler.py", line 1518, in _launchJobs
dependent_items)
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/launcher/gearman.py", line 318, in launch
destination_path = os.path.join(item.change.getBasePath(),
File "/usr/share/python/zuul/local/lib/python2.7/site-packages/zuul/model.py", line 904, in getBasePath
self.number[-2:], self.number, self.patchset)
TypeError: 'int' object has no attribute '__getitem__'
```
That happens whenever a change having Depends-On enters gate-and-submit. Zuul does a query to Gerrit to find whether the dependent changes are still open, if so Gerrit emits a json payload having `"number": 123456` which python consider an int. Zuul then tries to do a string operation (`[-2]:]`) on the int which causes the TypeError exception.
https://review.openstack.org/#/c/433748/ fixed the general use case code path but has left behind the Depends-On code path.
**Workaround**
CR+2 the reverse dependencies first **and wait for the change to be merged/closed**
Then CR+2 the change having dependencies once they got all merged.