Project

General

Profile

Bug #34909

Fix deadlock when using call_sync

Added by Ethan Large 10 months ago. Updated 10 months ago.

Status:
Done
Priority:
No priority
Assignee:
William Grzybowski
Category:
Middleware
Target version:
Severity:
Med High
Reason for Closing:
Reason for Blocked:
Needs QA:
No
Needs Doc:
No
Needs Merging:
No
Needs Automation:
No
Support Suite Ticket:
n/a
Hardware Configuration:
ChangeLog Required:
No

Description

On a VM installed today (06/13/18), using FreeNAS-11.2-MASTER-201806130421-3db2ca8.iso

Steps: I did a fresh install, went in to the new GUI, and was investigating an existing and unrelated bug (Caleb says probably middlewared locked?). I was on the 'directly submit a support ticket' page, and attempted to switch to the legacy UI through the integrated drop-down menu. It was hanging up, so I tried refreshing/re-logging in multiple times. Eventually, it completely failed to load and gave me the following page:
-----
Request Method: GET
Request URL: http://10.231.5.248/legacy/
Software Version: FreeNAS-11.2-MASTER-201806130421 (3db2ca8)
Exception Type: CallTimeout
Exception Value:

Call timeout

Exception Location: /usr/local/lib/python3.6/site-packages/middlewared/client/client.py in call, line 431
Server time: Wed, 13 Jun 2018 10:26:03 -0700
Traceback
Environment:

Software Version: FreeNAS-11.2-MASTER-201806130421 (3db2ca8)
Request Method: GET
Request URL: http://10.231.5.248/legacy/

Traceback:
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
42. response = get_response(request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _legacy_get_response
249. response = self._get_response(request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
178. response = middleware_method(request, callback, callback_args, callback_kwargs)
File "./freenasUI/freeadmin/middleware.py" in process_view
163. return login_required(view_func)(request, *view_args, **view_kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/auth/decorators.py" in _wrapped_view
23. return view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
57. response = view_func(request, *args, **kwargs)
File "./freenasUI/freeadmin/site.py" in adminInterface
236. 'menu_hook': appPool.get_top_menu(request),
File "./freenasUI/freeadmin/apppool.py" in get_top_menu
45. arr = self._get_array("top_menu", None, request)
File "./freenasUI/freeadmin/apppool.py" in _get_array
35. method(arr, func(*args, **kwargs))
File "./freenasUI/vcp/hook.py" in top_menu
38. if vcp_enabled():
File "./freenasUI/vcp/utils.py" in vcp_enabled
34. return not c.call('system.is_freenas')
File "./freenasUI/vcp/utils.py" in vcp_enabled
34. return not c.call('system.is_freenas')
File "/usr/local/lib/python3.6/site-packages/middlewared/client/client.py" in call
431. raise CallTimeout("Call timeout")

Exception Type: CallTimeout at /legacy/
Exception Value: Call timeout

Request information
GET

No GET data
POST

No POST data
FILES

No FILES data
COOKIES
Variable Value
csrftoken '********'
sessionid 'v4hd8cr6rx20jgmsolprybefbmk4zpxq'
META
Variable Value
-----
Furthermore, whenever I had attempted to log in, the console was flooded with messages (see screenshot; ignore the last six lines of the console as they are unrelated).

Console during Bug.png (2.45 MB) Console during Bug.png Ethan Large, 06/13/2018 11:07 AM
18448

Related issues

Related to FreeNAS - Bug #34900: The Category pop up list is not populated in the Support -> Submit a Bug in the New UIDone

Associated revisions

Revision c9de1dd0 (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): deadlock when using call_sync

Ticket: #34909

Revision 289a168d (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): deadlock when using call_sync

Ticket: #34909

Revision 40e52aae (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): deadlock when using call_sync

Ticket: #34909

Revision 495260ca (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): use io_thread when doing internal middleware call

Ticket: #34909

Revision 589b6b10 (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): deadlock when using call_sync

Ticket: #34909

Revision 9aca267c (diff)
Added by William Grzybowski 10 months ago

fix(middlewared): use io_thread when doing internal middleware call

Ticket: #34909

History

#1 Updated by Bonnie Follweiler 10 months ago

  • Subject changed from Logging in to FreeNAS Legacy UI fails and yields Call Timeout to Logging in to FreeNAS Legacy UI after in the New UI fails and yields Call Timeout
  • Assignee changed from Release Council to William Grzybowski

#2 Updated by Bonnie Follweiler 10 months ago

  • Related to Bug #34900: The Category pop up list is not populated in the Support -> Submit a Bug in the New UI added

#3 Updated by Bonnie Follweiler 10 months ago

This issue happens after accessing the Support page in the New UI.

#4 Updated by William Grzybowski 10 months ago

  • Status changed from Unscreened to Ready for Testing
  • Target version changed from Backlog to 11.2-BETA1
  • Severity changed from New to Med High
  • Needs Doc changed from Yes to No
  • Needs Merging changed from Yes to No

#5 Updated by William Grzybowski 10 months ago

  • Status changed from Ready for Testing to In Progress

Not merged yet

#6 Updated by William Grzybowski 10 months ago

  • Status changed from In Progress to Ready for Testing

#7 Updated by Dru Lavigne 10 months ago

  • Subject changed from Logging in to FreeNAS Legacy UI after in the New UI fails and yields Call Timeout to Fix deadlock when using call_sync

#8 Updated by William Grzybowski 10 months ago

  • Needs QA changed from Yes to No

#9 Updated by Dru Lavigne 10 months ago

  • Status changed from Ready for Testing to Done

#10 Updated by William Grzybowski 10 months ago

Additional commit for this ticket: 495260ca7a4482

Also available in: Atom PDF