Modify

Opened 6 years ago

Last modified 5 years 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 5 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 5 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 .
Author


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

 
Note: See TracTickets for help on using tickets.