New issue
Advanced search Search tips

Issue 763129 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Jan 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows , Chrome , Mac
Pri: 2
Type: Bug

Blocking:
issue 62400
issue 648177



Sign in to add a comment

XFA form - Crash on selecting a text field

Project Member Reported by hnakashima@chromium.org, Sep 7 2017

Issue description

Chromium	63.0.3209.0 (Developer Build) (64-bit)
Revision	2c67d73943b3e0c8bf0c450fc2df514ab2e26236-refs/heads/master@{#500376}
OS	Linux

Built with "pdf_enable_xfa_override = true"

What steps will reproduce the problem?
(1) Open an XFA form with a text field
(2) Click the text field with the mouse

What is the expected result?
Text field is selected.

What happens instead?
Crash with stack:

[1:1:0907/172023.247492:FATAL:pdfium_engine.cc(3871)] Check failed: annot. 
#0 0x7f08b342598d base::debug::StackTrace::StackTrace()
#1 0x7f08b3423d5c base::debug::StackTrace::StackTrace()
#2 0x7f08b34b4d2a logging::LogMessage::~LogMessage()
#3 0x55739d84a172 chrome_pdf::PDFiumEngine::IsPointInEditableFormTextArea()
#4 0x55739d847a6e chrome_pdf::PDFiumEngine::OnLeftMouseDown()
#5 0x55739d8416ef chrome_pdf::PDFiumEngine::OnMouseDown()
#6 0x55739d840ecf chrome_pdf::PDFiumEngine::HandleEvent()
#7 0x55739d881318 chrome_pdf::OutOfProcessInstance::HandleInputEvent()
#8 0x5573991cddef pp::InputEvent_HandleEvent()
#9 0x7f08a59a2052 ppapi::CallWhileUnlocked<>()
#10 0x7f08a59a1498 ppapi::proxy::PPP_InputEvent_Proxy::OnMsgHandleFilteredInputEvent()
...
 
There's a few TODOs laying around for handling XFA forms. So I'm not surprised you hit this DCHECK.
It used to work, though.
Labels: OS-Chrome OS-Mac OS-Windows
Owner: thestig@chromium.org
Status: Assigned (was: Available)
Before we added more code to PDFiumEngine::OnLeftMouseDown()? Certainly. We added more code and we deferred XFA handling to later, because we wanted to ship enhancements to users without worrying about XFA. I'll just take the bug, unless someone else wants to fix it instead.
hnakashima: Do you have a specific PDF for me to test with? If not, I'll go find one.
Ah, email_recommended.pdf and barcode_test.pdf can reproduce this.
 Issue 787594  has been merged into this issue.
Blocking: 648177
Labels: -Pri-3 Pri-2
Adjusting the priority, since 62400 is P2. Also adding another bug that I cannot investigate more due to this issue.
Owner: rharrison@chromium.org
Taking this issue since it is blocking a number of issues for XFA.
Project Member

Comment 9 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/9baf31f8c38e1c5266609e184cc07e369b744760

commit 9baf31f8c38e1c5266609e184cc07e369b744760
Author: Ryan Harrison <rharrison@chromium.org>
Date: Fri Jan 12 18:36:30 2018

Use enum for tracking form field types

Within PDFium use enum class for better type safety when working with
form field types. These values will still be converted to ints as part
of the public API, since that is the existing API.

This work is preperation for extending the number of form field types
to have more specific entries for XFA.

BUG=pdfium:952, chromium:763129 , chromium:592758 

Change-Id: Ie6c29f02ae22be782ff36eb87d27f1a4bf2c099e
Reviewed-on: https://pdfium-review.googlesource.com/22742
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Reviewed-by: Henrique Nakashima <hnakashima@chromium.org>

[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_widget.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_interform.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/formfiller/cffl_interactiveformfiller.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/core/fpdfdoc/cpdf_formfield.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/formfiller/cffl_formfiller.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/fpdfformfill.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/public/fpdf_formfill.h
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/core/fpdfdoc/cpdf_formfield.h
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_interform.h
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_widgethandler.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_formfillenvironment.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/fpdfxfa/cpdfxfa_docenvironment.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fpdfsdk/cpdfsdk_widget.h
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/samples/pdfium_test.cc
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/core/fpdfdoc/cpdf_interform.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/testing/embedder_test.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fxjs/cjs_field.cpp
[modify] https://crrev.com/9baf31f8c38e1c5266609e184cc07e369b744760/fxjs/cjs_publicmethods.cpp

Status: Started (was: Assigned)
Project Member

Comment 11 by bugdroid1@chromium.org, Jan 12 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/76473d4ff59feae08fe50d714f30564357bafeea

commit 76473d4ff59feae08fe50d714f30564357bafeea
Author: pdfium-deps-roller@chromium.org <pdfium-deps-roller@chromium.org>
Date: Fri Jan 12 21:39:34 2018

Roll src/third_party/pdfium/ 72d34be06..9baf31f8c (1 commit)

https://pdfium.googlesource.com/pdfium.git/+log/72d34be06324..9baf31f8c38e

$ git log 72d34be06..9baf31f8c --date=short --no-merges --format='%ad %ae %s'
2018-01-12 rharrison Use enum for tracking form field types

Created with:
  roll-dep src/third_party/pdfium
BUG= 763129 , 592758 


The AutoRoll server is located here: https://pdfium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=dsinclair@chromium.org

Change-Id: I33672afa8d0c4fb4a27c02487afb1849d921569d
Reviewed-on: https://chromium-review.googlesource.com/864634
Commit-Queue: <pdfium-deps-roller@chromium.org>
Reviewed-by: <pdfium-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529070}
[modify] https://crrev.com/76473d4ff59feae08fe50d714f30564357bafeea/DEPS

Project Member

Comment 12 by bugdroid1@chromium.org, Jan 16 2018

The following revision refers to this bug:
  https://pdfium.googlesource.com/pdfium/+/2056fac754e679baea695390854fe7b0ce7acb28

commit 2056fac754e679baea695390854fe7b0ce7acb28
Author: Ryan Harrison <rharrison@chromium.org>
Date: Tue Jan 16 16:06:45 2018

Add support for XFA specific FormField types

This adds to form field types specific types for XFA form fields to be
used instead of the generic XFA value when possible.

BUG=pdfium:952, chromium:763129 , chromium:592758 

Change-Id: I8d1cff6a280d71db348b7c31a251cbe2e398ec79
Reviewed-on: https://pdfium-review.googlesource.com/22677
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>

[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_fflistbox.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/fpdfsdk/cpdfsdk_interform.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffcombobox.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/fpdfsdk/fpdfformfill.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_fftextedit.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffcheckbutton.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffwidget.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffpushbutton.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/core/fpdfdoc/cpdf_formfield.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffsignature.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/public/fpdf_formfill.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffcheckbutton.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_fflistbox.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_fftextedit.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffcombobox.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffpushbutton.cpp
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffwidget.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffsignature.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffimageedit.h
[modify] https://crrev.com/2056fac754e679baea695390854fe7b0ce7acb28/xfa/fxfa/cxfa_ffimageedit.cpp

Project Member

Comment 13 by bugdroid1@chromium.org, Jan 16 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/9078c967aba033d5338a2606b01b616b3f7521c5

commit 9078c967aba033d5338a2606b01b616b3f7521c5
Author: pdfium-deps-roller@chromium.org <pdfium-deps-roller@chromium.org>
Date: Tue Jan 16 18:45:05 2018

Roll src/third_party/pdfium/ d3ae179da..2615590b0 (6 commits)

https://pdfium.googlesource.com/pdfium.git/+log/d3ae179dab3f..2615590b040a

$ git log d3ae179da..2615590b0 --date=short --no-merges --format='%ad %ae %s'
2018-01-16 hnakashima Add FPDF_GetPageBoundingBox API.
2018-01-16 rharrison Add support for XFA specific FormField types
2018-01-16 wangqing-hf Add support for pdfium use partitionalloc on loongson platform.
2018-01-16 dsinclair Rename CXFA_Value methods for clarity
2018-01-16 dsinclair Rename CXFA_Validate methods for clarity
2018-01-16 dsinclair Rename CXFA_Line methods to make clearer

Created with:
  roll-dep src/third_party/pdfium
BUG= 763129 , 592758 


The AutoRoll server is located here: https://pdfium-roll.skia.org

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.


TBR=dsinclair@chromium.org

Change-Id: I5203d9580e4183b2ecded38f85e9964ab4a1802a
Reviewed-on: https://chromium-review.googlesource.com/868032
Commit-Queue: <pdfium-deps-roller@chromium.org>
Reviewed-by: <pdfium-deps-roller@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529472}
[modify] https://crrev.com/9078c967aba033d5338a2606b01b616b3f7521c5/DEPS

Project Member

Comment 14 by bugdroid1@chromium.org, Jan 17 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/868062045852303b6536137c48eb2ca1c55d4119

commit 868062045852303b6536137c48eb2ca1c55d4119
Author: Ryan Harrison <rharrison@chromium.org>
Date: Wed Jan 17 15:47:23 2018

Add handling specific to XFA fields

The current mouse down logic assumes there is going to be an
annotation for a form field. This is only true if the field is an
AcroForm field. If it is an XFA field then there is no annotation.

This CL depends on
https://pdfium-review.googlesource.com/c/pdfium/+/22677 being rolled
into chromium.

BUG=pdfium:952, chromium:763129 

Change-Id: I1aafb646e7fb1bfb5f4f2a499f983809ef3279cf
Reviewed-on: https://chromium-review.googlesource.com/860876
Reviewed-by: dsinclair <dsinclair@chromium.org>
Commit-Queue: Ryan Harrison <rharrison@chromium.org>
Cr-Commit-Position: refs/heads/master@{#529752}
[modify] https://crrev.com/868062045852303b6536137c48eb2ca1c55d4119/pdf/pdfium/fuzzers/pdfium_fuzzer_helper.cc
[modify] https://crrev.com/868062045852303b6536137c48eb2ca1c55d4119/pdf/pdfium/pdfium_engine.cc
[modify] https://crrev.com/868062045852303b6536137c48eb2ca1c55d4119/pdf/pdfium/pdfium_page.cc

Status: Fixed (was: Started)

Sign in to add a comment