[dev-servo] Segmentation fault is caused by 'No appropriate framebuffer config found!'

2013-10-31 Thread Deokjin Kim
Title: Samsung Enterprise Portal mySingle



Dear all,
 
When I executed servo, I met segmentation fault. It's caused by 'No appropriate framebuffer config found!'.
Below is my test result.
0. Test environment
- git hash : 1a7e9e5e2c02d9e023c901f14a8b54e9a3c6a8a2
 
1. Execute servo without "-c" option
# ./servo ../src/test/html/about-mozilla.html
task '' failed at 'No appropriate framebuffer config found!', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/support/layers/rust-layers/platform/linux/surface.rs:143task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627
 
2. Execute servo with "-c" option
# ./servo -c  ../src/test/html/about-mozilla.html
task '' failed at 'No appropriate framebuffer config found!', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/support/layers/rust-layers/platform/linux/surface.rs:143task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'killed by linked failure', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/kill.rs:627task '' failed at 'receiving on closed channel', /home/deokjin81kim/Share/2013_parallel_browser/temp/servo/src/compiler/rust/src/libstd/rt/comm.rs:498
 
3. Result of "lspci" command
# lspci
00:00.0 Host bridge: Intel Corporation Core Processor DMI (rev 11)00:03.0 PCI bridge: Intel Corporation Core Processor PCI Express Root Port 1 (rev 11)00:08.0 System peripheral: Intel Corporation Core Processor System Management Registers (rev 11)00:08.1 System peripheral: Intel Corporation Core Processor Semaphore and Scratchpad Registers (rev 11)00:08.2 System peripheral: Intel Corporation Core Processor System Control and Status Registers (rev 11)00:08.3 System peripheral: Intel Corporation Core Processor Miscellaneous Registers (rev 11)00:10.0 System peripheral: Intel Corporation Core Processor QPI Link (rev 11)00:10.1 System peripheral: Intel Corporation Core Processor QPI Routing and Protocol Registers (rev 11)00:1a.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 06)00:1d.0 USB controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06)00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller (rev 06)00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)01:00.0 VGA compatible controller: NVIDIA Corporation GT216 [GeForce GT 220] (rev a2)01:00.1 Audio device: NVIDIA Corporation High Definition Audio Controller (rev a1)06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 03)
 
Thank you in advance.
 
Best Regards,
Deokjin Kim___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


[dev-servo] Rust and Servo presentations, demos

2013-10-31 Thread KAMI911 KAMI911
Hi Folks, (sorry for cross posting),

I am a Hungarian contributor to Mozilla. Next weekend I will have a
presentation about Mozilla Labs projects and I would like to introduce Rust
and Servo. Can you point some presentations, demos that available for
everyone?

Thank you in advance!

Üdvözlettel / Best Regards:

Kálmán (KAMI) Szalai
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] TreeNode and the script/style split

2013-10-31 Thread Ms2ger

On 10/30/2013 11:26 PM, Jack Moffitt wrote:

Right now we have this TreeNode abstraction that has been around for a
long time and has lost its original purpose (whatever that was). It's
only job right now appears to be to break the cyclic dependency
between the script and style crates.

Does anyone have strong feelings as to whether this is a worthwhile
reason to keep TreeNode around? If we get rid of it, I assume that
style will have to live in the script crate as it did before.


I don't think it should be kept in its current incarnation, at least.

For example, |add_child| doesn't do any checks to make sure that the 
resulting DOM tree is correct, and we already use it to append 
DocumentType nodes to the root Element. It seems to be that keeping such 
a function around, in a way that anyone else than the Node mutation 
algorithms can call it, is a recipe for messing up our invariants.


Also, the way it's written right now (|set!(next_sibling_node, 
set_prev_sibling, get!(child_node, prev_sibling));|, to pick but one 
line) is pretty unreadable, and I've had trouble adding assertions to 
ensure the correctness (I don't remember what the issue was exactly; 
possibly a lack of Eq).


So if we want to keep some abstraction outside of script—which might be 
useful, given that whole-crate compilation makes large crates quite 
painful—it'll need quite a bit of work, and we should at least consider 
making it only expose a read-only view.


HTH
Ms2ger
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Segmentation fault is caused by 'No appropriate framebuffer config found!'

2013-10-31 Thread Patrick Walton

On 10/31/13 12:27 AM, Deokjin Kim wrote:

Dear all,

When I executed servo, I met segmentation fault. It's caused by 'No
appropriate framebuffer config found!'.


We've seen problems with some GPU drivers on Linux not being able to 
handle binding X pixmaps to RGBA textures. I assumed that in 2013 
everyone would support this seemingly basic feature but that does not 
seem to be the case :(


I see three options:

1. EGLStream. Maybe that will work on those GPUs.

2. Investigate if there's some way to hack around it (using RGB pixmaps 
but somehow storing and reconstructing the alpha channel maybe?)


3. Shared memory with texture upload on the compositor side.

#3 is guaranteed to work, but has bad performance implications (though 
no worse than the browsers of today).


For now we can back off to RGB textures on those GPUs. This obviously 
won't work in the long run, though.


Patrick

___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Segmentation fault is caused by 'No appropriate framebuffer config found!'

2013-10-31 Thread Keegan McAllister
> 2. Investigate if there's some way to hack around it (using RGB pixmaps 
> but somehow storing and reconstructing the alpha channel maybe?)

This sounds pretty workable to me.  We can send alpha as the R channel of a 
second pixmap/texture and the compositor can extract it within a fragment 
shader.

> 3. Shared memory with texture upload on the compositor side.
>
> #3 is guaranteed to work, but has bad performance implications (though
> no worse than the browsers of today).

If we're rendering on the CPU anyway, what's the performance hit of compositor 
upload?  Is the issue that we'd like to upload in parallel with compositor work 
(and thus avoid jank)?

I'm one of the people who can't use RGBA pixmaps, on Linux with NVIDIA binary 
drivers (which I naively thought were feature-complete).  When I switch to RGB 
pixmaps (patching rust-layers thus: 
https://gist.github.com/kmcallister/7206061), I can run servo with CPU 
rendering (./servo -c) but with GPU rendering I get

X Error of failed request:  BadAlloc (insufficient resources for operation)
  Major opcode of failed request:  135 (GLX)
  Minor opcode of failed request:  22 (X_GLXCreatePixmap)
  Serial number of failed request:  141
  Current serial number in output stream:  142

I'm not sure why this is happening but I didn't have much time to dig into it 
yet.

keegan
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo


Re: [dev-servo] Rust and Servo presentations, demos

2013-10-31 Thread Jack Moffitt
Szia!

There is a list of collected presentations related to Servo here:
https://github.com/mozilla/servo/wiki/Videos-and-presentations

and one for Rust: https://github.com/mozilla/rust/wiki/Docs#presentations

The best way to demo servo are the following files which you can find
in `src/test/html`:

acid1.html
summit2.html (showing parallel iframes)
summit-fail.html (showing isolated failure)

Hope this helps and gives you some ideas!

jack.


On Thu, Oct 31, 2013 at 3:04 AM, KAMI911 KAMI911  wrote:
> Hi Folks, (sorry for cross posting),
>
> I am a Hungarian contributor to Mozilla. Next weekend I will have a
> presentation about Mozilla Labs projects and I would like to introduce Rust
> and Servo. Can you point some presentations, demos that available for
> everyone?
>
> Thank you in advance!
>
> Üdvözlettel / Best Regards:
>
> Kálmán (KAMI) Szalai
> ___
> dev-servo mailing list
> dev-servo@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-servo
___
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo