Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Linux: 4430+ cefclient crashes with BadWindow error when creating new popup window #3165

Open
magreenblatt opened this issue Jul 28, 2021 · 8 comments
Labels
bug Bug report help wanted Issue resolution will likely require community contributions linux Linux platform native Related to a native (non-Views) framework SampleApps Related to sample apps

Comments

@magreenblatt
Copy link
Collaborator

Original report by wujh (Bitbucket: wujh, GitHub: wujh).


1.What steps will reproduce the problem?

When I click the Popup Window of tests menu bar in the upper left corner of the cefclient

2.What is the expected output? What do you see instead?

Popup Window is normal

3.What version of the product are you using? On what operating system?

cef_binary_90.6.5+g7a604aa+chromium-90.0.4430.93_linux64

4.Does the problem reproduce with the cefclient or cefsimple sample application at the same version? How about with a newer or older version?

the cefsimple is normal , in the M87 and the M85 , the cefclient and the cefsimple is normal

error:

wjh@wjh-pc:~/cef_binary_90.6.5+g7a604aa+chromium-90.0.4430.93_linuxla64/tests/cefclient/Release$ ./cefclient
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
[0728/094953.240383:ERROR:sandbox_linux.cc(374)] InitializeSandbox() called with multiple threads in process gpu-process.
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
[0728/095026.842363:ERROR:browser_info_manager.cc(581)] Timeout of new browser info response for frame process id 6 and routing id 4
'+vgpr-spilling' is not a recognized feature for this target (ignoring feature)
[0728/095029.026315:WARNING:connection.cc(61)] X error received.  Request: DestroyWindowRequest, Error: WindowError{.sequence = 862, .bad_value = [12582931 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582931), .minor_opcode = 0, .major_opcode = 4}
[0728/095057.540471:INFO:CONSOLE(223)] "每一个星球都有一个驱动核心,
每一种思想都有影响力的种子。
感受世界的温度,
年轻的你也能成为改变世界的动力,
百度珍惜你所有的潜力。
你的潜力,是改变世界的动力!

", source: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_1280ea2.js (223)
[0728/095057.540897:INFO:CONSOLE(223)] "%c百度2021校园招聘简历投递:https://talent.baidu.com/external/baidu/campus.html color:red", source: https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/global/js/all_async_search_1280ea2.js (223)
[0728/095105.018068:WARNING:connection.cc(61)] X error received.  Request: CreateWindowRequest, Error: WindowError{.sequence = 1103, .bad_value = [54525954 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/54525954), .minor_opcode = 0, .major_opcode = 1}
[0728/095105.018190:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1104, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018210:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1105, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018227:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1106, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018246:WARNING:connection.cc(61)] X error received.  Request: CreateWindowRequest, Error: WindowError{.sequence = 1111, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 1}
[0728/095105.018264:WARNING:connection.cc(61)] X error received.  Request: Input::XISelectEventsRequest, Error: WindowError{.sequence = 1113, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 46, .major_opcode = 131}
[0728/095105.018280:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1114, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018337:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1115, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018368:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1116, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018391:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1117, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018415:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1118, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018437:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1119, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018458:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1120, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018480:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1121, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018501:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1122, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018523:WARNING:connection.cc(61)] X error received.  Request: Shape::RectanglesRequest, Error: WindowError{.sequence = 1123, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 1, .major_opcode = 129}
[0728/095105.018546:WARNING:connection.cc(61)] X error received.  Request: Shape::RectanglesRequest, Error: WindowError{.sequence = 1124, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 1, .major_opcode = 129}
[0728/095105.018569:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1126, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018593:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1129, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018615:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1130, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018648:WARNING:connection.cc(61)] X error received.  Request: MapWindowRequest, Error: WindowError{.sequence = 1131, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 8}
[0728/095105.018673:WARNING:connection.cc(61)] X error received.  Request: ConfigureWindowRequest, Error: WindowError{.sequence = 1134, .bad_value = [12582938 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582938), .minor_opcode = 0, .major_opcode = 12}
[0728/095105.018704:WARNING:connection.cc(61)] X error received.  Request: ChangePropertyRequest, Error: WindowError{.sequence = 1137, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 18}
[0728/095105.018726:WARNING:connection.cc(61)] X error received.  Request: MapWindowRequest, Error: WindowError{.sequence = 1138, .bad_value = [12582937 (bb)](https://bitbucket.org/chromiumembedded/cef/commits/12582937), .minor_opcode = 0, .major_opcode = 8}

(cefclient:10417): Gdk-ERROR **: 09:51:05.026: The program 'cefclient' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadWindow (invalid Window parameter)'.
  (Details: serial 35485 error_code 3 request_code 18 (core protocol) minor_code 0)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
追踪与中断点陷阱

the first bad_value is the create temp window return value,when the return value as parent window called by

connection_->CreateWindow to create child window, I tried to skip the step of creating temp window,the result is cefclient not crash but the browser interface is divorced from the window, like this:


@magreenblatt
Copy link
Collaborator Author

What Linux distro? Does the problem also reproduce with M91 or M92?

@magreenblatt
Copy link
Collaborator Author

Original comment by wujh (Bitbucket: wujh, GitHub: wujh).


My linux distro is debian 10,Not tested on M91 or M92

@magreenblatt
Copy link
Collaborator Author

Original comment by wujh (Bitbucket: wujh, GitHub: wujh).


Hi@{557058:2f2a2aee-b500-4023-9734-037e9897c3ab} ,I tested it on M91,this problem still exists but I running cefclient on M90 and M91 with --enable-chrome-runtime, this performance is normal,similarly,I tested on previous versions M88 and M89,the Popup Window is not crash.

@magreenblatt
Copy link
Collaborator Author

I’m able to reproduce the issue with M93 on Ubuntu 18.04. Seems to be an issue with GDK in cefclient since window.open works fine in cefsimple.

@magreenblatt
Copy link
Collaborator Author

  • changed component from "Unclassified" to "SampleApps"

@magreenblatt
Copy link
Collaborator Author

chrome: win/linux: Add support for browser with native parent (see issue #3294)

This change adds Chrome runtime support on Windows and Linux for creating a
browser parented to a native window supplied by the client application.
Expected API usage and window behavior is similar to what already exists with
the Alloy runtime. The parent window handle should be specified by using
CefWindowInfo::SetAsChild in combination with the CefBrowserHost::CreateBrowser
and CefLifeSpanHandler::OnBeforePopup callbacks.

The previously existing behavior of creating a fully-featured Chrome browser
window when empty CefWindowInfo is used with CreateBrowser remains unchanged
and Views is still the preferred API for creating top-level Chrome windows
with custom styling (e.g. title bar only, frameless, etc).

The cefclient Popup Window test with a native parent window continues to crash
on Linux with both the Alloy and Chrome runtimes (see issue #3165).

Also adds Chrome runtime support for CefDisplayHandler::OnCursorChange.

To test:

  • Run cefclient --enable-chrome-runtime [--use-views] for the default (and
    previously existing) Views-based behavior.
  • Run cefclient --enable-chrome-runtime --use-native for the new native
    parent window behavior.
  • Run cefclient --enable-chrome-runtime --use-native --no-activate and the
    window will not be activated (take input focus) on launch (Windows only).
  • Run cefclient --enable-chrome-runtime [--use-views|--use-native] --mouse-cursor-change-disabled and the mouse cursor will not change on
    mouseover of DOM elements.

→ <<cset 3000bc8748d8 (bb)>>

@magreenblatt
Copy link
Collaborator Author

cefclient: Add option to create default popups (see issue #3165, see issue #3294)

This change adds a --use-default-popup command-line option to cefclient. When
specified, popup windows will be created with default styling (e.g. without an
application-provided native parent window).

This change also adds some reasonable default window bounds in cases where they
are not specified by the client.

→ <<cset 75ca552a4e88 (bb)>>

robincarlisle pushed a commit to robincarlisle/cef that referenced this issue Apr 28, 2023
…sue chromiumembedded#3294)

This change adds Chrome runtime support on Windows and Linux for creating a
browser parented to a native window supplied by the client application.
Expected API usage and window behavior is similar to what already exists with
the Alloy runtime. The parent window handle should be specified by using
CefWindowInfo::SetAsChild in combination with the CefBrowserHost::CreateBrowser
and CefLifeSpanHandler::OnBeforePopup callbacks.

The previously existing behavior of creating a fully-featured Chrome browser
window when empty CefWindowInfo is used with CreateBrowser remains unchanged
and Views is still the preferred API for creating top-level Chrome windows
with custom styling (e.g. title bar only, frameless, etc).

The cefclient Popup Window test with a native parent window continues to crash
on Linux with both the Alloy and Chrome runtimes (see issue chromiumembedded#3165).

Also adds Chrome runtime support for CefDisplayHandler::OnCursorChange.

To test:
- Run `cefclient --enable-chrome-runtime [--use-views]` for the default (and
  previously existing) Views-based behavior.
- Run `cefclient --enable-chrome-runtime --use-native` for the new native
  parent window behavior.
- Run `cefclient --enable-chrome-runtime --use-native --no-activate` and the
  window will not be activated (take input focus) on launch (Windows only).
- Run `cefclient --enable-chrome-runtime [--use-views|--use-native]
  --mouse-cursor-change-disabled` and the mouse cursor will not change on
  mouseover of DOM elements.
robincarlisle pushed a commit to robincarlisle/cef that referenced this issue Apr 28, 2023
…edded#3165, see issue chromiumembedded#3294)

This change adds a `--use-default-popup` command-line option to cefclient. When
specified, popup windows will be created with default styling (e.g. without an
application-provided native parent window).

This change also adds some reasonable default window bounds in cases where they
are not specified by the client.
@magreenblatt
Copy link
Collaborator Author

Reproduces with native parent; cefclient (Alloy) and cefclient --enable-chrome-runtime --use-native (Chrome). Does not reproduce when adding --use-default-popup.

@magreenblatt magreenblatt added the native Related to a native (non-Views) framework label Nov 15, 2023
@magreenblatt magreenblatt added the help wanted Issue resolution will likely require community contributions label Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Bug report help wanted Issue resolution will likely require community contributions linux Linux platform native Related to a native (non-Views) framework SampleApps Related to sample apps
Projects
None yet
Development

No branches or pull requests

1 participant