Modify

Opened 6 years ago

Last modified 6 months ago

#3665 new defect

TypeError in Bitten when GrowlPlugin is enabled

Reported by: anonymous Owned by: eblot
Priority: normal Component: GrowlPlugin
Severity: critical Keywords:
Cc: Trac Release: 0.11

Description

When the GrowlPlugin is enabled, Bitten throws an error when bitten-slave attempts to get the status of an individual build. (NOTE: I've removed the "http://"s from the outputs below so that this ticket doesn't get flagged as spam)

bitten-slave -v:

[DEBUG   ] Configured packages: {}
[DEBUG   ] Sending slave configuration: <slave name="g5"><platform processor="powerpc">Power Macintosh</platform><os version="9.4.0" family="posix">Darwin</os></slave>
[DEBUG   ] Sending POST request to 'G5.local/trac/builds'
[INFO    ] Build pending at G5.local/trac/builds/13
[DEBUG   ] Sending GET request to 'G5.local/trac/builds/13'
[WARNING ] Server returned error 500: Internal Error
[ERROR   ] HTTP Error 500: Internal Error
[DEBUG   ] Removing temporary directory /var/folders/U8/U8JhLVPZGSKjfz4CMrO56k+++TI/-Tmp-/bittenYhYrdj

Response from G5.local/trac/builds/13:

Trac detected an internal error:
   TypeError: build_started() takes exactly 1 argument (2 given)

Python Traceback
Most recent call last:

    * File "/sw/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py", line 423, in _dispatch_request
      Code fragment:
       418. try:
       419. if not env and env_error:
       420. raise HTTPInternalError(env_error)
       421. try:
       422. dispatcher = RequestDispatcher(env)
       423. dispatcher.dispatch(req)
       424. except RequestDone:
       425. pass
       426. resp = req._response or []
       427.  
       428. except HTTPException, e:
      Local variables:
      Name	Value
      after 	[u' except RequestDone:', u' pass', u' resp = ...
      before 	[u' try:', u' if not env and env_error:', u' raise ...
      dispatcher 	<trac.web.main.RequestDispatcher object at 0x1683b10>
      e 	<exceptions.TypeError instance at 0x2534f30>
      env 	<trac.env.Environment object at 0x13eb3d0>
      env_error 	None
      exc_info 	(<class exceptions.TypeError at 0x3425a0>, <exceptions.TypeError instance ...
      filename 	'/sw/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py'
      frames 	[{'function': '_dispatch_request', 'lines_before': [u' try:', u' ...
      has_admin 	True
      line 	u' dispatcher.dispatch(req)'
      lineno 	422
      message 	u'TypeError: build_started() takes exactly 1 argument (2 given)'
      req 	<Request "GET u'/builds/13'">
      resp 	[]
      tb 	<traceback object at 0x2534dc8>
      tb_hide 	None
      traceback 	'Traceback (most recent call last):\n File ...
    * File "/sw/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py", line 197, in dispatch
      Code fragment:
       192. req.args.get('__FORM_TOKEN') != req.form_token:
       193. raise HTTPBadRequest('Missing or invalid form token. '
       194. 'Do you have cookies enabled?')
       195.  
       196. # Process the request and render the template
       197. resp = chosen_handler.process_request(req)
       198. if resp:
       199. if len(resp) == 2: # Clearsilver
       200. chrome.populate_hdf(req)
       201. template, content_type = \
       202. self._post_process_request(req, *resp)
      Local variables:
      Name	Value
      chosen_handler 	<bitten.master.BuildMaster object at 0x1683f30>
      chrome 	<trac.web.chrome.Chrome object at 0x1511cf0>
      err 	(<class exceptions.TypeError at 0x3425a0>, <exceptions.TypeError instance ...
      handler 	<bitten.master.BuildMaster object at 0x1683f30>
      req 	<Request "GET u'/builds/13'">
      self 	<trac.web.main.RequestDispatcher object at 0x1683b10>
    * File "/sw/lib/python2.4/site-packages/Bitten-0.6dev_r559-py2.4.egg/bitten/master.py", line 87, in process_request
      Code fragment:
        82.  
        83. if not req.args['collection']:
        84. if req.method == 'DELETE':
        85. return self._process_build_cancellation(req, config, build)
        86. else:
        87. return self._process_build_initiation(req, config, build)
        88.  
        89. if req.method != 'POST':
        90. raise HTTPMethodNotAllowed('Method not allowed')
        91.  
        92. if req.args['collection'] == 'steps':
      Local variables:
      Name	Value
      build 	<Build 13>
      config 	<BuildConfig u'SG'>
      req 	<Request "GET u'/builds/13'">
      self 	<bitten.master.BuildMaster object at 0x1683f30>
    * File "/sw/lib/python2.4/site-packages/Bitten-0.6dev_r559-py2.4.egg/bitten/master.py", line 170, in _process_build_initiation
      Code fragment:
       165. build.id)
       166. build.started = int(time.time())
       167. build.update()
       168.  
       169. for listener in BuildSystem(self.env).listeners:
       170. listener.build_started(build)
       171.  
       172. xml = xmlio.parse(config.recipe)
       173. xml.attr['path'] = config.path
       174. xml.attr['revision'] = build.rev
       175. xml.attr['config'] = config.name
      Local variables:
      Name	Value
      build 	<Build 13>
      config 	<BuildConfig u'SG'>
      listener 	<growl.notifier.GrowlNotifierSystem object at 0x2535d30>
      req 	<Request "GET u'/builds/13'">
      self 	<bitten.master.BuildMaster object at 0x1683f30>

File "/sw/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py", line 423, in _dispatch_request
  dispatcher.dispatch(req)
File "/sw/lib/python2.4/site-packages/Trac-0.11.1-py2.4.egg/trac/web/main.py", line 197, in dispatch
  resp = chosen_handler.process_request(req)
File "/sw/lib/python2.4/site-packages/Bitten-0.6dev_r559-py2.4.egg/bitten/master.py", line 87, in process_request
  return self._process_build_initiation(req, config, build)
File "/sw/lib/python2.4/site-packages/Bitten-0.6dev_r559-py2.4.egg/bitten/master.py", line 170, in _process_build_initiation
  listener.build_started(build)

System Info

User Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X 10.5; en-US; rv:1.9) Gecko/2008061004 Firefox/3.0
Trac:       0.11.1
Python:     2.4.3 (#1, Mar 29 2007, 19:10:24) [GCC 4.0.1 (Apple Computer, Inc. build 5250)]
setuptools: 0.6c5
SQLite:     2.8.17
pysqlite:   1.0.0
Genshi:     0.5.1
Subversion: 1.4.3 (r23084)
jQuery:     1.2.6

Attachments (0)

Change History (2)

comment:1 follow-up: Changed 6 years ago by bradhowes

I had the same problem. The issue is that the build_started, build_aborted, and build_completed methods are missing the 'self' argument (lines 194, 205, and 215 in version 0.2.1.dev)

comment:2 in reply to: ↑ 1 Changed 6 years ago by bradhowes

Replying to bradhowes:

I had the same problem. The issue is that the build_started, build_aborted, and build_completed methods are missing the 'self' argument (lines 194, 205, and 215 in version 0.2.1.dev)

... in file notifier.py

Add Comment

Modify Ticket

Action
as new The owner will remain eblot.
Author


E-mail address and user name can be saved in the Preferences.

 
Note: See TracTickets for help on using tickets.