Interpreting crash-diag output

martinr

Member
My (spare) Fox T2 HDR running CFW 3.13 seems to crash when coming out of its 3-5am sleep. Yet if I manually reboot from the webif or by touching the large button on the front until it goes orange and then touching again, it doesn’t crash.

I ran crash-diag from the webif and would be very grateful to learn if there are any clues as to the problem?

(As I remember it, unlike the Foxsat which needs the sleep for its housekeeping, the Fox T2 HDR has no need for an early-morning power-down. Nevertheless, I’d like to crack the problem.)






Code:
>> Beginning diagnostic crashdiag

Running: crashdiag
1.03.12
*********** Core file /mod/core/humaxtv.1538261361.353 ***********
Sat Sep 29 23:49:21 BST 2018
Core was generated by `/usr/bin/humaxtv'.
Program terminated with signal 10, Bus error.
#0  0x2c218fa9 in BVDC_P_Source_AnalogDataReady_isr ()
   from /usr/lib/libnexus.so
[Current thread is 1 (Thread 675)]
Thread
#0  0x2c218fa9 in BVDC_P_Source_AnalogDataReady_isr ()

Thread 111
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 109
#0  0x2c59d068 in __lll_lock_wait () from /lib/libpthread.so.0
#1  0x2c596568 in pthread_mutex_lock () from /lib/libpthread.so.0
#2  0x2c0efbe4 in NEXUS_P_Scheduler_Step () from /usr/lib/libnexus.so
#3  0x2c0f0160 in ?? () from /usr/lib/libnexus.so

Thread 86
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 74
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x2aaef918 in _ftext () from /var/lib/humaxtv_backup/mod/libnugget.so
#2  0x00000020 in ?? ()

Thread 73
#0  0x2c58c1ec in mq_timedreceive () from /lib/librt.so.0
#1  0x2c58c1cc in mq_timedreceive () from /lib/librt.so.0

Thread 70
#0  0x2c59d5dc in read () from /lib/libpthread.so.0
#1  0x2c59d5c0 in read () from /lib/libpthread.so.0

Thread 68
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x008fd36c in ?? ()

Thread 5
#0  0x2c59da6c in accept () from /lib/libpthread.so.0
#1  0x2c59da50 in accept () from /lib/libpthread.so.0

Thread 4
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x0089b848 in ?? ()



*********** Core file /mod/core/humaxtv.1538453192.354 ***********
Tue Oct  2 05:06:32 BST 2018
[Current thread is 1 (Thread 765)]
Thread

Thread 113
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 112
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 111
#0  0x2c59de3c in ?? ()
#1  0x2c59de20 in ?? ()

Thread 110
#0  0x2c5b06bc in ?? ()
#1  0x2c08d24c in ?? ()

Thread 109
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 108
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 107
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 106
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 105
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 104
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 103
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 102
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 101
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 100
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 99
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 98
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 97
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 96
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 95
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 94
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 93
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 92
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 91
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 90
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 89
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 88
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 87
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 86
#0  0x2c59de3c in ?? ()
#1  0x2c59de20 in ?? ()

Thread 85
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 84
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 83
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 82
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 81
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 80
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 79
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 78
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 77
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 76
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 75
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 74
#0  0x2c5b1c20 in ?? ()
#1  0x2aaef918 in ?? ()

Thread 73
#0  0x2c58c1ec in ?? ()
#1  0x2c58c1cc in ?? ()

Thread 72
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 71
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 70
#0  0x2c59d5dc in ?? ()
#1  0x2c59d5c0 in ?? ()

Thread 69
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 68
#0  0x2c5b1c20 in ?? ()
#1  0x008fd36c in ?? ()

Thread 67
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 66
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 65
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 64
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 63
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 62
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 61
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 60
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 59
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 58
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 57
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 56
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 55
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 54
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 53
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 52
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 51
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 50
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 49
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 48
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 47
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 46
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 45
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 44
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 43
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 42
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 41
#0  0x2c599524 in ?? ()
#1  0x2c599504 in ?? ()

Thread 40
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 39
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 38
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 37
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 36
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 35
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 34
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 33
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 32
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 31
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 30
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 29
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 28
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 27
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 26
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 25
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 24
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 23
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 22
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 21
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 20
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 19
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 18
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 17
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 16
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 15
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 14
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 13
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 12
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 11
#0  0x2c59bb44 in ?? ()
#1  0x2c59bb28 in ?? ()

Thread 10
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 9
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 8
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 7
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 6
#0  0x2c599a58 in ?? ()
#1  0x2c599a3c in ?? ()

Thread 5
#0  0x2c59da6c in ?? ()
#1  0x2c59da50 in ?? ()

Thread 4
#0  0x2c5b1c20 in ?? ()
#1  0x0089b848 in ?? ()

Thread 3
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()

Thread 2
#0  0x2c59d7bc in ?? ()
#1  0x2c59d7a0 in ?? ()





>>> Ending diagnostic crashdiag

Completed.
Close
 
Program terminated with signal 10, Bus error. #0 0x2c218fa9 in BVDCPSourceAnalogDataReadyisr () from /usr/lib/libnexus.so
This one actually includes the place where the crash occurred - all we have to do is infer what it was doing from the function name. _isr() is probably an interrupt service routine, anyone have any ideas on BVDC_P?
 
I thought I should add that my main Fox T2 HDR was fully powered down at the time of the crash of this spare T2.

(Despite my running dlna-filter and listing the IP address of the main T2 in the spare one, and vice versa, the spare T2 seems to freeze when the main one is switched on. However, as running both T2s together is just a temporary and artificial situation, I’m not bothered.)

My main T2 is off and I have turned off the Power On and Power Off timers on the spare T2 and will leave it running (no auto power down) for a few days.

But if anyone has any ideas or troubleshooting suggestions for making sense of the crash dump, I’d be happy to oblige.
 
Despite my running dlna-filter and listing the IP address of the main T2 in the spare one, and vice versa, the spare T2 seems to freeze when the main one is switched on.
I have three HDRs coexisting on the same network powered up 24/7, and do not have to filter DLNAs. The reason for the filter is incompatibility with some other DLNA services. Something else is at the root of your problem (that you don't care about).

How are the units' IP addresses configured - DHCP or manual? Do they definitely have different IP addresses allocated? Do you have any cross-linking installed, such as foxlink or network-shares-automount? If so, do you have the remote file system mounted into My Video instead of just the USB list?
 
Thanks Black Hole. And thanks for the clarification on dlna-filter.

I have configured the IP addresses manually on my router. I’ve attached a screenshot showing that the radio button shows against DHCP with the correct network data greyed out.

Yes, different IP addresses: one is .../62 and the other ..../55 both static as set in the router DHCP.

No cross linking at all. I simply brought out the spare T2 HDR to make sure it works when needed.

(You’ll see I’ve posted on another matter: the Power Off timer defaulting back to 03:00 from OFF on second reboot. So there may be some sort of corruption best sorted by a clean re-install.)
 

Attachments

  • 0ABC8088-5DAA-4162-92B8-95FA5B708051.png
    0ABC8088-5DAA-4162-92B8-95FA5B708051.png
    134.8 KB · Views: 8
Presumably.../62 and .../55 are outside the DHCP allocation range of the router as well for 'belt and braces' reasons?
 
Presumably.../62 and .../55 are outside the DHCP allocation range of the router as well for 'belt and braces' reasons?


Yes, sorry, I should have made that clear. The IP addresses are in the “Manually assigned IP around the DHCP list” on my Asus router (which runs the Asus Merlin CFW). So I have a DHCP pool starting at /50 and ending at /63 and then each device is listed by MAC address and manually assigned an IP address. So no new device can join until I assign it an address.
 
At https://forums.openpli.org/topic/35...ry-graphic-acceleration-instruction-pipeline/ someone has posted a partial directory listing of the SDK that has never reached anywhere where Google could find it. There is a whole sequence of bvdc*.c source files. I'm betting on "Broadcom Video Display Controller".

In the circumstances
... seems to crash when coming out of its 3-5am sleep ...
isn't it most likely to be some hardware warm-up glitch, either timing or temperature?

And whatever it is, maybe the same cause is at the root of OP's issue with wake-up timers .
 
At https://forums.openpli.org/topic/35...ry-graphic-acceleration-instruction-pipeline/ someone has posted a partial directory listing of the SDK that has never reached anywhere where Google could find it. There is a whole sequence of bvdc*.c source files. I'm betting on "Broadcom Video Display Controller".

In the circumstances

isn't it most likely to be some hardware warm-up glitch, either timing or temperature?

And whatever it is, maybe the same cause is at the root of OP's issue with wake-up timers .


Interesting. Thanks. And I decided to turn off both Power On and Off timers to eliminate anything like that, but that brought an additional glitch: the Power Off timer is defaulting back to 03:00 from Off on the second reboot.
 
If this is correct then 62, as quoted and shown on the screen shot, is in the DHCP pool...
It needs to be so that his Hummys, which are set to DHCP, can pick up an address automagically. All other devices he is giving a manual IP.

@martinr AAMOI, why don't you give the Hummys a manual address as well?
 
It needs to be so that his Hummys, which are set to DHCP, can pick up an address automagically. All other devices he is giving a manual IP.

@martinr AAMOI, why don't you give the Hummys a manual address as well?

I wondered about that - duplicating by also setting manual IP in the Network Settings to the same address I’d set on the router, but somehow it didn’t quite seem good practice to set a manual IP address in 2 different places.
 
I’ve since done a system flush and CFW re-installation, and so far the results look very encouraging. So there’s little point in persuing this. Nevertheless, I’m very grateful for the responses and suggestions.
 
I'm betting on "Broadcom Video Display Controller".
That makes sense!
I tried ploughing through libnexus.so and the nearest functions I could see to the one causing the dump all appeared to be display related.
 
it didn’t quite seem good practice to set a manual IP address in 2 different places.
Not one that I would subscribe to either but as you give all your other stuff static (on the router) why don;t yo allocate their IP on the router. My gut feeling, without checking it, is that the DHCP request from the Hummys will be responded to by issuing your allocated IP by their MAC? Can't remember how I've done it but mine gas a static IP of .../200 as it sometimes failed to respond to its name on the network, but always does to its IP.
 
Not one that I would subscribe to either but as you give all your other stuff static (on the router) why don;t yo allocate their IP on the router. My gut feeling, without checking it, is that the DHCP request from the Hummys will be responded to by issuing your allocated IP by their MAC? Can't remember how I've done it but mine gas a static IP of .../200 as it sometimes failed to respond to its name on the network, but always does to its IP.

Thanks, Trev. If problems return after my system flush and CFW re-installation, I will certainly make this aspect the focus of my troubleshooting.
 
That makes sense!
I tried ploughing through libnexus.so and the nearest functions I could see to the one causing the dump all appeared to be display related.

Is there anything the user can do to steer clear of this? I don’t suppose it would be anything as simplistic as avoiding the installation of one of the optional packages?
 
For information, since flushing and reinstalling the CFW, I’ve had 2 crashes, but I know what I was doing to cause them: the first one occurred when the Humax Portal was loading (after selecting it from the remote), and in the second crash, a couple of minutes later, the portal had opened and I had selected iPlayer. So both crashes were related to the Humax Portal being open.

I’m not going to chase this just yet: I want to see how stable the rest of the system is. The other useful thing I have is that my main Fox T2 HDR is there for comparison and its settings, including the network settings (but not the IP address, of course), are set up the same way.)


EDIT: I’ve since run the Portal, entered iPlayer successfully and exited out of the Portal without problem, followed by accessing it and causing a freeze. Except for that, the box seems fine


Code:
*********** Core file /mod/core/humaxtv.1538579386.351 ***********
Wed Oct  3 16:09:46 BST 2018
Core was generated by `/usr/bin/humaxtv'.
Program terminated with signal 11, Segmentation fault.
#0  0x2b66a514 in ?? () from /usr/lib/libopera.so.3.2
[Current thread is 1 (Thread 983)]
Thread
#0  0x2b66a514 in ?? () from /usr/lib/libopera.so.3.2

Thread 111
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 110
#0  0x2c5b06bc in ioctl () from /lib/libc.so.0
#1  0x2c08d24c in ?? () from /usr/lib/libnexus.so

Thread 85
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 73
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x2aaef918 in _ftext () from /var/lib/humaxtv_backup/mod/libnugget.so
#2  0x00000020 in ?? ()

Thread 72
#0  0x2c58c1ec in mq_timedreceive () from /lib/librt.so.0
#1  0x2c58c1cc in mq_timedreceive () from /lib/librt.so.0

Thread 69
#0  0x2c59d5dc in read () from /lib/libpthread.so.0
#1  0x2c59d5c0 in read () from /lib/libpthread.so.0

Thread 67
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x008fd36c in ?? ()

Thread 5
#0  0x2c59da6c in accept () from /lib/libpthread.so.0
#1  0x2c59da50 in accept () from /lib/libpthread.so.0

Thread 4
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x0089b848 in ?? ()



*********** Core file /mod/core/humaxtv.1538579573.351 ***********
Wed Oct  3 16:12:53 BST 2018
Core was generated by `/usr/bin/humaxtv'.
Program terminated with signal 11, Segmentation fault.
#0  0x2b66a514 in ?? () from /usr/lib/libopera.so.3.2
[Current thread is 1 (Thread 1052)]
Thread
#0  0x2b66a514 in ?? () from /usr/lib/libopera.so.3.2

Thread 110
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 109
#0  0x2c5b06bc in ioctl () from /lib/libc.so.0
#1  0x2c08d24c in ?? () from /usr/lib/libnexus.so

Thread 84
#0  0x2c59de3c in recvmsg () from /lib/libpthread.so.0
#1  0x2c59de20 in recvmsg () from /lib/libpthread.so.0

Thread 72
#0  0x2c58c1ec in mq_timedreceive () from /lib/librt.so.0
#1  0x2c58c1cc in mq_timedreceive () from /lib/librt.so.0

Thread 69
#0  0x2c59d5dc in read () from /lib/libpthread.so.0
#1  0x2c59d5c0 in read () from /lib/libpthread.so.0

Thread 67
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x008fd36c in ?? ()

Thread 5
#0  0x2c59da6c in accept () from /lib/libpthread.so.0
#1  0x2c59da50 in accept () from /lib/libpthread.so.0

Thread 4
#0  0x2c5b1c20 in select () from /lib/libc.so.0
#1  0x0089b848 in ?? ()





>>> Ending diagnostic crashdiag

 Completed.
Close
 
Last edited:
Back
Top