Open Bug 1464356 Opened 6 years ago Updated 2 years ago

Intermittent Test Verify TEST-UNEXPECTED-FAIL | browser/components/payments/test/browser/browser_onboarding_wizard.js | Uncaught exception - TypeError: element is null

Categories

(Firefox :: WebPayments UI, defect)

defect

Tracking

()

People

(Reporter: intermittent-bug-filer, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: intermittent-failure)

Filed by: btara [at] mozilla.com

https://treeherder.mozilla.org/logviewer.html#?job_id=179984768&repo=mozilla-central

https://queue.taskcluster.net/v1/task/BKrqY6BLQPaRbBrseLYvCQ/runs/0/artifacts/public/logs/live_backing.log

11:32:28     INFO -  53 INFO TEST-START | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js
11:32:29     INFO -  TEST-INFO | started process screenshot
11:32:29     INFO -  TEST-INFO | screenshot: exit 0
11:32:29     INFO -  Buffered messages logged at 11:32:28
11:32:29     INFO -  54 INFO Entering test bound setup_head
11:32:29     INFO -  55 INFO Leaving test bound setup_head
11:32:29     INFO -  56 INFO Entering test bound test_onboarding_wizard_without_saved_addresses_and_saved_cards
11:32:29     INFO -  57 INFO Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 170}]
11:32:29     INFO -  58 INFO Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 170}]
11:32:29     INFO -  59 INFO Opening the payment dialog
11:32:29     INFO -  60 INFO waitForMessageFromWidget: paymentDialogReady
11:32:29     INFO -  61 INFO Console message: [JavaScript Warning: "Use of nsIFile in content process is deprecated." {file: "resource://gre/modules/FileUtils.jsm" line: 170}]
11:32:29     INFO -  Buffered messages logged at 11:32:29
11:32:29     INFO -  62 INFO Got paymentDialogReady from widget
11:32:29     INFO -  63 INFO TEST-PASS | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | Got payment widget -
11:32:29     INFO -  64 INFO TEST-PASS | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | requestId should be defined -
11:32:29     INFO -  65 INFO TEST-PASS | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | dialog should not be closed -
11:32:29     INFO -  66 INFO TEST-PASS | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | Got payment frame -
11:32:29     INFO -  67 INFO dialog ready
11:32:29     INFO -  68 INFO Checking if the address page has been rendered
11:32:29     INFO -  Buffered messages finished
11:32:29    ERROR -  69 INFO TEST-UNEXPECTED-FAIL | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | Uncaught exception - TypeError: element is null
11:32:29     INFO -  70 INFO Leaving test bound test_onboarding_wizard_without_saved_addresses_and_saved_cards
11:32:29     INFO -  71 INFO Entering test bound test_onboarding_wizard_with_saved_addresses_and_saved_cards
11:32:29     INFO -  72 INFO Opening the payment dialog
11:32:29     INFO -  73 INFO waitForMessageFromWidget: paymentDialogReady
11:37:27     INFO -  74 INFO Console message: [JavaScript Error: "getScreenshot(https://example.com/browser/browser/components/payments/test/browser/blank_page.html) failed: Win error 2 during operation open on file C:\Users\task_1527160879\AppData\Local\Temp\tmptb5r8a.mozrunner\thumbnails\23a65823d2f0325aa4046db136c8beb6.png (The system cannot find the file specified.
11:37:27     INFO -  )" {file: "resource://activity-stream/lib/Screenshots.jsm" line: 76}]
11:37:27     INFO -  getScreenshotForURL@resource://activity-stream/lib/Screenshots.jsm:76:7
11:37:27     INFO -  async*maybeCacheScreenshot@resource://activity-stream/lib/Screenshots.jsm:130:32
11:37:27     INFO -  async*_fetchScreenshot@resource://activity-stream/lib/TopSitesFeed.jsm:231:11
11:37:27     INFO -  async*_fetchIcon@resource://activity-stream/lib/TopSitesFeed.jsm:219:11
11:37:27     INFO -  async*getLinksWithDefaults@resource://activity-stream/lib/TopSitesFeed.jsm:158:11
11:37:27     INFO -  async*refresh@resource://activity-stream/lib/TopSitesFeed.jsm:180:25
11:37:27     INFO -  async*onAction@resource://activity-stream/lib/TopSitesFeed.jsm:393:9
11:37:27     INFO -  _middleware/</<@resource://activity-stream/lib/Store.jsm:51:11
11:37:27     INFO -  Store/this[method]@resource://activity-stream/lib/Store.jsm:29:55
11:37:27     INFO -  init/this.intervalId<@resource://activity-stream/lib/SystemTickFeed.jsm:18:41
11:37:27     INFO -  notify@resource://gre/modules/Timer.jsm:44:7
11:37:27     INFO -  showPayment@jar:file:///Z:/task_1527160879/build/application/firefox/browser/omni.ja!/components/paymentUIService.js:49:5
11:42:56     INFO -  GECKO(4236) | 1527162176864	addons.xpi-utils	WARN	Add-on workerbootstrap-test@mozilla.org is not compatible with application version.
11:42:56     INFO -  75 INFO Console message: 1527162176864	addons.xpi-utils	WARN	Add-on workerbootstrap-test@mozilla.org is not compatible with application version.
11:47:26     INFO -  JavaScript error: jar:file:///Z:/task_1527160879/build/application/firefox/omni.ja!/components/nsPlacesExpiration.js, line 805: TypeError: this._db is undefined
11:49:06     INFO -  Buffered messages finished
11:49:06  WARNING -  TEST-UNEXPECTED-TIMEOUT | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | application timed out after 370 seconds with no output
11:49:06     INFO -  76 ERROR Force-terminating active process(es).
11:49:06     INFO -  Determining child pids from psutil...
11:49:06     INFO -  [908, 3764, 5748, 1568, 1912]
11:49:06     INFO -  ==> process 4236 launched child process 908 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.0.544738689\2014407962" -childID 1 -isForBrowser -prefsHandle 1060 -prefsLen 16370 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 1832 tab)
11:49:06     INFO -  ==> process 4236 launched child process 1568 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.6.1838764251\1794288954" -childID 2 -isForBrowser -prefsHandle 2100 -prefsLen 16370 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2104 tab)
11:49:06     INFO -  ==> process 4236 launched child process 3764 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.12.534539336\245388047" -childID 3 -isForBrowser -prefsHandle 2336 -prefsLen 17680 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2352 tab)
11:49:06     INFO -  ==> process 4236 launched child process 1912 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.18.212075190\698085714" -childID 4 -isForBrowser -prefsHandle 2920 -prefsLen 22123 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2952 tab)
11:49:06     INFO -  ==> process 4236 launched child process 5748 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.24.1560634564\781770889" -childID 5 -isForBrowser -prefsHandle 3232 -prefsLen 22123 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 3184 tab)
11:49:06     INFO -  Found child pids: set([1568, 3764, 5748, 908, 1912])
11:49:06     INFO -  Killing process: 1568
11:49:06     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 1568: error 5
11:49:07     INFO -  Killing process: 3764
11:49:07     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 3764: error 5
11:49:07     INFO -  Killing process: 5748
11:49:07     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 5748: error 5
11:49:07     INFO -  Killing process: 908
11:49:07     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 908: error 5
11:49:07     INFO -  Killing process: 1912
11:49:07     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 1912: error 5
11:49:07     INFO -  psutil found pid 1568 dead
11:49:07     INFO -  psutil found pid 5748 dead
11:49:07     INFO -  psutil found pid 3764 dead
11:49:07     INFO -  psutil found pid 908 dead
11:49:07     INFO -  psutil found pid 1912 dead
11:49:07     INFO -  Killing process: 4236
11:49:07     INFO -  Not taking screenshot here: see the one that was previously logged
11:49:07     INFO -  mozcrash kill_pid(): wait failed (-1) terminating pid 4236: error 5
11:49:07     INFO -  psutil found pid 4236 dead
11:49:07     INFO -  TEST-INFO | Main app process: exit 1
11:49:07     INFO -  Buffered messages finished
11:49:07    ERROR -  77 ERROR TEST-UNEXPECTED-FAIL | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | application terminated with exit code 1
11:49:07     INFO -  runtests.py | Application ran for: 0:16:41.348000
11:49:07     INFO -  zombiecheck | Reading PID log: c:\users\task_1527160879\appdata\local\temp\tmpizogqopidlog
11:49:07     INFO -  ==> process 4236 launched child process 908 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.0.544738689\2014407962" -childID 1 -isForBrowser -prefsHandle 1060 -prefsLen 16370 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 1832 tab)
11:49:07     INFO -  ==> process 4236 launched child process 1568 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.6.1838764251\1794288954" -childID 2 -isForBrowser -prefsHandle 2100 -prefsLen 16370 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2104 tab)
11:49:07     INFO -  ==> process 4236 launched child process 3764 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.12.534539336\245388047" -childID 3 -isForBrowser -prefsHandle 2336 -prefsLen 17680 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2352 tab)
11:49:07     INFO -  ==> process 4236 launched child process 1912 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.18.212075190\698085714" -childID 4 -isForBrowser -prefsHandle 2920 -prefsLen 22123 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 2952 tab)
11:49:07     INFO -  ==> process 4236 launched child process 5748 ("Z:\task_1527160879\build\application\firefox\firefox.exe" -contentproc --channel="4236.24.1560634564\781770889" -childID 5 -isForBrowser -prefsHandle 3232 -prefsLen 22123 -schedulerPrefs 0001,2 -parentBuildID 20180524093705 -greomni "Z:\task_1527160879\build\application\firefox\omni.ja" -appomni "Z:\task_1527160879\build\application\firefox\browser\omni.ja" -appdir "Z:\task_1527160879\build\application\firefox\browser" - 4236 "\\.\pipe\gecko-crash-server-pipe.4236" 3184 tab)
11:49:07     INFO -  zombiecheck | Checking for orphan process with PID: 1568
11:49:07     INFO -  zombiecheck | Checking for orphan process with PID: 3764
11:49:07     INFO -  zombiecheck | Checking for orphan process with PID: 5748
11:49:07     INFO -  zombiecheck | Checking for orphan process with PID: 908
11:49:07     INFO -  zombiecheck | Checking for orphan process with PID: 1912
11:49:07     INFO -  mozcrash Downloading symbols from: https://queue.taskcluster.net/v1/task/I8PtZuiRRwG7hFig0Tzb0w/artifacts/public/build/target.crashreporter-symbols.zip
11:49:12     INFO -  mozcrash Copy/paste: Z:\task_1527160879\build\win32-minidump_stackwalk.exe c:\users\task_1527160879\appdata\local\temp\tmptb5r8a.mozrunner\minidumps\030932e1-f211-4db2-9968-60f2d2276039.dmp c:\users\task_1527160879\appdata\local\temp\tmp9iirsl
11:49:25     INFO -  mozcrash Saved minidump as Z:\task_1527160879\build\blobber_upload_dir\030932e1-f211-4db2-9968-60f2d2276039.dmp
11:49:25  WARNING -  PROCESS-CRASH | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | application crashed [None]
11:49:25     INFO -  Crash dump filename: c:\users\task_1527160879\appdata\local\temp\tmptb5r8a.mozrunner\minidumps\030932e1-f211-4db2-9968-60f2d2276039.dmp
11:49:25     INFO -  Operating system: Windows NT
11:49:25     INFO -                    6.1.7601 Service Pack 1
11:49:25     INFO -  CPU: x86
11:49:25     INFO -       GenuineIntel family 6 model 63 stepping 2
11:49:25     INFO -       8 CPUs
11:49:25     INFO -  GPU: UNKNOWN
11:49:25     INFO -  No crash
11:49:25     INFO -  Process uptime: 1001 seconds
11:49:25     INFO -  Thread 0
11:49:25     INFO -   0  ntdll.dll!KiFastSystemCallRet + 0x0
11:49:25     INFO -      eip = 0x776a70b4   esp = 0x002ead7c   ebp = 0x002ead94   ebx = 0x0d91b101
11:49:25     INFO -      esi = 0x008072e0   edi = 0x008072e0   eax = 0x002eb098   ecx = 0x0a808594
11:49:25     INFO -      edx = 0x00000030   efl = 0x00000246
11:49:25     INFO -      Found by: given as instruction pointer in context
11:49:25     INFO -   1  ntdll.dll!ZwQueryPerformanceCounter + 0xc
11:49:25     INFO -      eip = 0x776a6164   esp = 0x002ead80   ebp = 0x002ead94
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   2  ntdll.dll!MD4Transform + 0xa095
11:49:25     INFO -      eip = 0x776e6ed5   esp = 0x002ead84   ebp = 0x002ead94
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   3  mozglue.dll!static unsigned __int64 mozilla::PerformanceCounter() [TimeStamp_windows.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 169 + 0xa]
11:49:25     INFO -      eip = 0x68c9e436   esp = 0x002ead9c   ebp = 0x002eadb0
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   4  mozglue.dll!mozilla::TimeStamp::Now(bool) [TimeStamp_windows.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 530 + 0x5]
11:49:25     INFO -      eip = 0x68c9e3cf   esp = 0x002eadb8   ebp = 0x002eade4
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   5  xul.dll!TimerThread::AddTimerInternal(nsTimerImpl *) [TimerThread.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 682 + 0xc]
11:49:25     INFO -      eip = 0x584e819d   esp = 0x002eadec   ebp = 0x002eae18
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   6  xul.dll!TimerThread::AddTimer(nsTimerImpl *) [TimerThread.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 567 + 0xb]
11:49:25     INFO -      eip = 0x584e813b   esp = 0x002eae20   ebp = 0x002eae30
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   7  xul.dll!nsTimerImpl::InitCommon(mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const &,unsigned int,nsTimerImpl::Callback &&) [nsTimerImpl.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 416 + 0x11]
11:49:25     INFO -      eip = 0x584f0878   esp = 0x002eae38   ebp = 0x002eae7c
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   8  xul.dll!nsTimerImpl::InitHighResolutionWithCallback(nsITimerCallback *,mozilla::BaseTimeDuration<mozilla::TimeDurationValueCalculator> const &,unsigned int) [nsTimerImpl.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 487 + 0x11]
11:49:25     INFO -      eip = 0x584f0944   esp = 0x002eae84   ebp = 0x002eaeb0
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -   9  xul.dll!nsTimerImpl::InitWithCallback(nsITimerCallback *,unsigned int,unsigned int) [nsTimerImpl.cpp:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 467 + 0x3b]
11:49:25     INFO -      eip = 0x584f09d0   esp = 0x002eaeb8   ebp = 0x002eaed0
11:49:25     INFO -      Found by: call frame info
11:49:25     INFO -  10  xul.dll!nsTimer::InitWithCallback(nsITimerCallback *,unsigned int,unsigned int) [nsTimerImpl.h:c411ccb6bb4a46265eaffc89f9bf897e469197d0 : 230 + 0x22]
11:49:25     INFO -      eip = 0x584f098c   esp = 0x002eaed8   ebp = 0x002eaee4
11:49:25     INFO -      Found by: call frame info
Whiteboard: [webpayments] [triage]
Blocks: 1427935
Priority: P5 → P3
Whiteboard: [webpayments] [triage] → [webpayments-reserve]
We are trying to build a tool to automatically classify intermittent failures, which would provide a starting point for fixing the bug, reducing the manual work for the developers.
We are collecting some feedback on the results, to see if they’re good enough and where we need to improve.
    
For this bug, the tool says that the intermittent failure is most likely a:
Concurrency Issue: This includes tests in which failures occur due to thread management issues (different threads or their outcomes depending on an implicit ordering), race conditions and/or deadlocks, and issues related to an asynchronous waits (e.g. a process trying to access an external resource or continuing before the external resource is available).


Once you’re done investigating and/or fixing the bug, could you tell me:
- Did the tool correctly recognize the type of intermittent failure?
- Did the information from the tool help your analysis, the bug fixing process, or anything in the process? (please also let us know how the tool was useful and/or what would improve the tool's usefulness for you)
Priority: P3 → --
Whiteboard: [webpayments-reserve]
Summary: Intermittent Test Verify TEST-UNEXPECTED-FAIL | browser/components/payments/test/browser/browser_payments_onboarding_wizard.js | Uncaught exception - TypeError: element is null → Intermittent Test Verify TEST-UNEXPECTED-FAIL | browser/components/payments/test/browser/browser_onboarding_wizard.js | Uncaught exception - TypeError: element is null

Now, my friends, Wehomz sincerely welcome all of you to find your ideal furniture in our store. Here are the benefits you will not want to miss:

  • for every new customer buying our furniture, we offer a coupon for 500$, a huge benefit!
  • we provide more than 4000 pieces of furniture in total which will amaze you
  • we offer one-stop shopping for the whole house
  • What are you waiting for? Come to Wehomz and make your home brilliant.

https://wehomzfurn.com/

Boucle furniture
The Boucle furniture trend is being embraced
The soft and comfortable fabric known as Boucle is back and for good reason.
Boucle is a French word that means "curled is an extremely adored design trends for 2020's interiors. The Boucle furniture style has been observed in the latest designs of well-known furniture designers and seems to be going away anytime soon.
What is Boucle?
Boucle may refer to an unwoven yarn made of looped fibers or the fabric that is made of it. The most commonly used fiber that undergoes the process however, it's frequently found in linen, cotton and silk. In the past time, the cloud-like material is making a return covering cushions, furniture, ottomans and so on providing a natural, comfort to anything.
Boucle fabric provides a variety of advantages to transform your home into a secure haven. From absorption of sound to maximum comfort, it's no reason to be surprised by the material's rising in popularity during periods of uncertainty and turmoil.
Incorporating the Boucle style into your home.
As winter in Melbourne is coming to an end and we move into the warmer seasons, it's the ideal time to clean and restyle, or rearrange and be in charge. For a fresh look take a look at this robust and comfortable fabric.
Due to its white, creamy hue the boucle furniture can be used in minimalist or contemporary spaces , to create the appearance of warmth and texture. Put a chubby statement on your sofa or chair or as an accent for scatter cushions as an easy method of bringing warmth to your living space.
About Construct Melbourne
Construct Melbourne is a designer and builder of luxurious homes in Melbourne's inner-south. We take pride in working with our clients to design homes that reflect their individual style, in every aspect. We are committed to our work and are enthusiastic about designing stunning homes that enrich life of our customers.

Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.