[issue43206] Optional parameter got passed even when not in the call

2021-02-12 Thread Abhilash Jindal


New submission from Abhilash Jindal :

Seeing a very unexpected behavior. A call to __init__ method is receiving extra 
arguments not present in the caller. Following is a debugger session to 
demonstrate. Notice that "data_dict" is not being passed in the caller, yet the 
callee is receiving it!

```python
(Pdb) bt
  /Users/apple/Library/Python/3.8/bin/celery(10)()
-> sys.exit(main())
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/__main__.py(15)main()
-> sys.exit(_main())
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/bin/celery.py(213)main()
-> return celery(auto_envvar_prefix="CELERY")
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/core.py(829)__call__()
-> return self.main(*args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/core.py(782)main()
-> rv = self.invoke(ctx)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/core.py(1259)invoke()
-> return _process_result(sub_ctx.command.invoke(sub_ctx))
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/core.py(1066)invoke()
-> return ctx.invoke(self.callback, **ctx.params)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/core.py(610)invoke()
-> return callback(*args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/click/decorators.py(21)new_func()
-> return f(get_current_context(), *args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/bin/base.py(132)caller()
-> return f(ctx, *args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/bin/worker.py(327)worker()
-> worker.start()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/worker/worker.py(203)start()
-> self.blueprint.start(self)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/bootsteps.py(116)start()
-> step.start(parent)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/bootsteps.py(365)start()
-> return self.obj.start()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/concurrency/base.py(129)start()
-> self.on_start()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/concurrency/prefork.py(107)on_start()
-> P = self._pool = Pool(processes=self.limit,
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/concurrency/asynpool.py(460)__init__()
-> super().__init__(processes, *args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/pool.py(1046)__init__()
-> self._create_worker_process(i)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/concurrency/asynpool.py(477)_create_worker_process()
-> return super()._create_worker_process(i)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/pool.py(1158)_create_worker_process()
-> w.start()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/process.py(124)start()
-> self._popen = self._Popen(self)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/context.py(333)_Popen()
-> return Popen(process_obj)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/popen_fork.py(24)__init__()
-> self._launch(process_obj)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/popen_fork.py(79)_launch()
-> code = process_obj._bootstrap()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/process.py(327)_bootstrap()
-> self.run()
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/process.py(114)run()
-> self._target(*self._args, **self._kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/pool.py(292)__call__()
-> sys.exit(self.workloop(pid=pid))
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/billiard/pool.py(362)workloop()
-> result = (True, prepare_result(fun(*args, **kwargs)))
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/app/trace.py(580)_trace_task_ret()
-> R, I, T, Rstr = trace_task(app.tasks[name],
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/app/trace.py(536)trace_task()
-> return task.__trace__(uuid, args, kwargs, request)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/app/trace.py(405)trace_task()
-> R = retval = fun(*args, **kwargs)
  
/Users/apple/Library/Python/3.8/lib/python/site-packages/celery/app/trace.py(697)__protected_call__()
-> return self.run(*args, **kwargs)
  /Users/apple/Documents/research/hint/code/scope/core/nodes.py(23)process()
-> processor(idx)
  /Users/apple/Documents/research/hint/code/scope/core/nodes.py(96)__call__()
-> k = next(iter(self.named_in_edges))
> /Users/apple/Documents/research/hint/code/scope/examples/word_count.py(55)__call__()
-> out_row = Row(node_name, self.schema, from_rows=[input_row])
  /Users/apple/Documents/research/hint/cod

[issue43206] Optional parameter got passed even when not in the call

2021-02-12 Thread Abhilash Jindal


Abhilash Jindal  added the comment:

Aah TIL. Thanks.

--
resolution:  -> not a bug
stage:  -> resolved
status: open -> closed

___
Python tracker 
<https://bugs.python.org/issue43206>
___
___
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com