iOS Code Signing Fastlane Match Error - ios

I'm getting the following when trying to deploy my application to iTunes Connect using Fastlane.
It was working not too long ago, and I'm not sure why all the sudden it's now failing. I recently upgraded from CircleCI 1.0 to CircleCI 2.0, and that is about when it started to fail. The last deployment done on CircleCI 1.0 was successful, but everyone on CircleCI 2.0 has failed.
Any ideas how to fix this code signing error with Fastlane?
+-----------------------+-------------------------------------------------+
| Summary for match 2.94.0 |
+-----------------------+-------------------------------------------------+
| type | appstore |
| app_identifier | ["com.charliefish.ios.test"] |
| force | true |
| git_url | https://github.com/fishcharlie/myprivatedataA.git |
| git_branch | master |
| username | charlie#test.com |
| keychain_name | login.keychain |
| readonly | false |
| team_id | 86LATJ1793 |
| verbose | false |
| skip_confirmation | false |
| shallow_clone | false |
| clone_branch_directly | false |
| force_for_new_devices | false |
| skip_docs | false |
| platform | ios |
+-----------------------+-------------------------------------------------+
[11:38:04]: Cloning remote git repo...
[11:38:04]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[11:38:10]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
[11:38:11]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
+-------------------+------------------------------------------------+
| Installed Certificate |
+-------------------+------------------------------------------------+
| User ID | 86LATJ1793 |
| Common Name | iPhone Distribution: Charlie Fish (86LATJ1793) |
| Organisation Unit | 86LATJ1793 |
| Organisation | Charlie Fish |
| Country | US |
| Start Datetime | 2018-05-03 18:13:05 UTC |
| End Datetime | 2019-05-03 18:13:05 UTC |
+-------------------+------------------------------------------------+
+-------------------------------------+------------------------------------------------+
| Summary for sigh 2.94.0 |
+-------------------------------------+------------------------------------------------+
| app_identifier | com.charliefish.ios.test |
| username | charlie#test.com |
| force | true |
| cert_id | PQ8B8T1T54 |
| provisioning_name | match AppStore com.charliefish.ios.test |
| ignore_profiles_with_different_name | true |
| team_id | 86LATJ1793 |
| platform | ios |
| adhoc | false |
| development | false |
| skip_install | false |
| skip_fetch_profiles | false |
| skip_certificate_verification | false |
| readonly | false |
+-------------------------------------+------------------------------------------------+
[11:38:12]: Starting login with user 'charlie#test.com'
[11:38:13]: Successfully logged in
[11:38:13]: Fetching profiles...
[11:38:14]: Verifying certificates...
[11:38:14]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
[11:38:14]: Certificate for Provisioning Profile 'match AppStore com.charliefish.ios.test' not available locally: PQ8B8T1T54, skipping this one...
[11:38:14]: No existing profiles found, that match the certificates you have installed locally! Creating a new provisioning profile for you
[11:38:15]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
[11:38:15]: No certificates for filter: Certificate ID: 'PQ8B8T1T54'
+------------------+-------------+
| Lane Context |
+------------------+-------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios release |
+------------------+-------------+
[11:38:15]: Could not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide. If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert
+------+------------------+-------------+
| fastlane summary |
+------+------------------+-------------+
| Step | Action | Time (in s) |
+------+------------------+-------------+
| 1 | default_platform | 0 |
| 💥 | match | 11 |
+------+------------------+-------------+
[11:38:15]: fastlane finished with errors
[!] Could not find a matching code signing identity for type 'AppStore'. It is recommended to use match to manage code signing for you, more information on https://codesigning.guide. If you don't want to do so, you can also use cert to generate a new one: https://fastlane.tools/cert
EDIT
I'm now getting a different error after adding the setup CircleCI task in before all.
It looks like the repo is adding .mobileprovision to the end of profile. But it's searching for the non .mobileprovision version.
+-----------------------+-------------------------------------------------+
| Summary for match 2.94.0 |
+-----------------------+-------------------------------------------------+
| type | appstore |
| app_identifier | ["com.charliefish.ios.test"] |
| force | true |
| git_url | https://github.com/fishcharlie/myprivatedataA.git |
| git_branch | master |
| username | charlie#test.com |
| keychain_name | fastlane_tmp_keychain |
| readonly | true |
| team_id | 08RTYN1272 |
| verbose | false |
| skip_confirmation | false |
| shallow_clone | false |
| clone_branch_directly | false |
| force_for_new_devices | false |
| skip_docs | false |
| platform | ios |
+-----------------------+-------------------------------------------------+
[14:04:47]: Cloning remote git repo...
[14:04:47]: If cloning the repo takes too long, you can use the `clone_branch_directly` option in match.
[14:04:48]: 🔓 Successfully decrypted certificates repo
[14:04:48]: Installing certificate...
security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain.
[14:04:49]: There are no local code signing identities found.
You can run `security find-identity -v -p codesigning` to get this output.
This Stack Overflow thread has more information: https://stackoverflow.com/q/35390072/774.
(Check in Keychain Access for an expired WWDR certificate: https://stackoverflow.com/a/35409835/774 has more info.)
+-------------------+------------------------------------------------+
| Installed Certificate |
+-------------------+------------------------------------------------+
| User ID | 08RTYN1272 |
| Common Name | iPhone Distribution: Charlie Fish (08RTYN1272) |
| Organisation Unit | 08RTYN1272 |
| Organisation | Charlie Fish |
| Country | US |
| Start Datetime | 2018-05-03 18:13:05 UTC |
| End Datetime | 2019-05-03 18:13:05 UTC |
+-------------------+------------------------------------------------+
[14:04:49]: No matching provisioning profiles found for 'AppStore_com.charliefish.ios.test'
[14:04:49]: A new one cannot be created because you enabled `readonly`
[14:04:49]: Provisioning profiles in your repo for type `appstore`:
[14:04:49]: - 'AppStore_com.charliefish.ios.test.mobileprovision'
[14:04:49]: If you are certain that a profile should exist, double-check the recent changes to your match repository
+---------------------------+--------------------------------------------------------+
| Lane Context |
+---------------------------+--------------------------------------------------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios release |
| ORIGINAL_DEFAULT_KEYCHAIN | "/Users/distiller/Library/Keychains/login.keychain-db" |
+---------------------------+--------------------------------------------------------+
[14:04:49]: No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information.
+------+----------------------------+-------------+
| fastlane summary |
+------+----------------------------+-------------+
| Step | Action | Time (in s) |
+------+----------------------------+-------------+
| 1 | Verifying fastlane version | 0 |
| 2 | default_platform | 0 |
| 3 | setup_circle_ci | 0 |
| 💥 | match | 2 |
+------+----------------------------+-------------+
[14:04:49]: fastlane finished with errors
[!] No matching provisioning profiles found and can not create a new one because you enabled `readonly`. Check the output above for more information.

I was able to solve this by going back and looking at my v1.0 config. I had read_only: false set on my CI config. Which I don't think is the best practice. But it's now not throwing any errors and working fine. I'm pretty sure I'm still getting the warning security: SecKeychainSearchCopyNext: The specified item could not be found in the keychain., but it's working even with that warning.
I do have the setup_circle_ci in my config also.

This error can have a lot of reasons, some things you should try:
Make sure you install certificate in local not in system.
Check WWDR certificate Expiry date.
Make sure to have a valid code signing identity defined in your project targets. This might happen when you select Don't Code Sign as Code Signing Identity.
I read your post in Upwork.

Related

Why oAuth2.0 need authorization token

+----------+
| Resource |
| Owner |
| |
+----------+
^
|
(B)
+----|-----+ Client Identifier +---------------+
| -+----(A)-- & Redirection URI ---->| |
| User- | | Authorization |
| Agent -+----(B)-- User authenticates --->| Server |
| | | |
| -+----(C)-- Authorization Code ---<| |
+-|----|---+ +---------------+
| | ^ v
(A) (C) | |
| | | |
^ v | |
+---------+ | |
| |>---(D)-- Authorization Code ---------' |
| Client | & Redirection URI |
| | |
| |<---(E)----- Access Token -------------------'
+---------+ (w/ Optional Refresh Token)
I understand the flow above, but my question is for the step C in the middle, is that possible that Authorization Server get the redirection URI and then use Post to request the URI and put access token in body. It will eliminate the step D and E? Thanks for your replies
It sounds like what you're describing is the Implicit Grant Flow (steps A - C):
+----------+
| Resource |
| Owner |
| |
+----------+
^
|
(B)
+----|-----+ Client Identifier +---------------+
| -+----(A)-- & Redirection URI --->| |
| User- | | Authorization |
| Agent -|----(B)-- User authenticates -->| Server |
| | | |
| |<---(C)--- Redirection URI ----<| |
| | with Access Token +---------------+
| | in Fragment
| | +---------------+
| |----(D)--- Redirection URI ---->| Web-Hosted |
| | without Fragment | Client |
| | | Resource |
| (F) |<---(E)------- Script ---------<| |
| | +---------------+
+-|--------+
| |
(A) (G) Access Token
| |
^ v
+---------+
| |
| Client |
| |
+---------+
The token is directly returned in step C, without the need for performing a code/token exchange. However, this has a number of security risks, not limited to token injection and credential leakage. The OAuth working group recommends clients SHOULD NOT use this flow in accordance with best security practices.

Fastlane upload to App Store fails in non-interactive mode even with API key

I am using Fastlane in a GitLab CI environment. I am using an API key and have successfully uploaded my app to TestFlight. However, it fails when uploading the app to the App Store. The build uploads successfully, but it fails when waiting for a response after sending the metadata. Here are the relevant snippets:
# Fastfile
lane :get_app_store_connect_api_key do
ensure_env_vars(
env_vars: [
'APP_STORE_CONNECT_API_KEY'
]
)
app_store_connect_api_key(
key_id: "**********",
issuer_id: "********-****-****-****-************",
key_content: "#{ENV["APP_STORE_CONNECT_API_KEY"]}".gsub('\n', '\\n'),
in_house: false,
)
end
...
desc "Push a new release channel build to the App Store."
lane :release do
build_release()
appstore(
api_key: get_app_store_connect_api_key
)
end
LOG
[17:22:47]: ----------------------
[17:22:47]: --- Step: appstore ---
[17:22:47]: ----------------------
[17:22:47]: Successfully loaded '/Users/********/builds/qVPSw-s1/0/********/********/client/ios/fastlane/Deliverfile' 📄
[17:22:47]: No values defined in './fastlane/Deliverfile'
[17:22:47]: Creating authorization token for App Store Connect API
+--------------------------------------+------------------------+
| deliver 2.181.0 Summary |
+--------------------------------------+------------------------+
| api_key | ******** |
| screenshots_path | ./fastlane/screenshots |
| metadata_path | ./fastlane/metadata |
| app_version | 1.1.0 |
| username | ******** |
| app_identifier | com.********.app |
| ipa | Runner.ipa |
| platform | ios |
| edit_live | false |
| use_live_version | false |
| skip_binary_upload | false |
| skip_screenshots | false |
| skip_metadata | false |
| skip_app_version_update | false |
| force | false |
| overwrite_screenshots | false |
| submit_for_review | false |
| reject_if_possible | false |
| phased_release | false |
| reset_ratings | false |
| team_id | ********|
| dev_portal_team_id | ********|
| run_precheck_before_submit | true |
| precheck_default_rule_level | warn |
| ignore_language_directory_validation | false |
| precheck_include_in_app_purchases | true |
+--------------------------------------+------------------------+
[17:22:52]: Making sure the latest version on App Store Connect matches '1.1.0'...
[17:22:54]: Successfully set the version to '1.1.0'
[17:22:54]: Loading './fastlane/metadata/en-US/description.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/keywords.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/release_notes.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/support_url.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/marketing_url.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/promotional_text.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/name.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/subtitle.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/privacy_url.txt'...
[17:22:54]: Loading './fastlane/metadata/en-US/apple_tv_privacy_policy.txt'...
[17:22:54]: Loading './fastlane/metadata/copyright.txt'...
[17:22:54]: Loading './fastlane/metadata/primary_category.txt'...
[17:22:54]: Loading './fastlane/metadata/secondary_category.txt'...
[17:22:54]: Loading './fastlane/metadata/primary_first_sub_category.txt'...
[17:22:54]: Loading './fastlane/metadata/primary_second_sub_category.txt'...
[17:22:54]: Loading './fastlane/metadata/secondary_first_sub_category.txt'...
[17:22:54]: Loading './fastlane/metadata/secondary_second_sub_category.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/first_name.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/last_name.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/phone_number.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/email_address.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/demo_user.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/demo_password.txt'...
[17:22:54]: Loading './fastlane/metadata/review_information/notes.txt'...
[17:22:54]: Verifying the upload via the HTML file can be disabled by either adding
[17:22:54]: `force true` to your Deliverfile or using `fastlane deliver --force`
[17:22:57]: Does the Preview on path './fastlane/Preview.html' look okay for you?
+------------------------------------+-----------------------------------------------------------------------------------------------------+
| Lane Context |
+------------------------------------+-----------------------------------------------------------------------------------------------------+
| DEFAULT_PLATFORM | ios |
| PLATFORM_NAME | ios |
| LANE_NAME | ios release |
| SIGH_PROFILE_TYPE | app-store |
| MATCH_PROVISIONING_PROFILE_MAPPING | {"com.********.app"=>"match AppStore com.********.app"} |
| IPA_OUTPUT_PATH | /Users/********/builds/qVPSw-s1/0/********/********/client/ios/Runner.ipa |
| XCODEBUILD_ARCHIVE | /Users/********/Library/Developer/Xcode/Archives/2021-04-21/Runner 2021-04-21 17.14.18.xcarchive |
| DSYM_OUTPUT_PATH | /Users/********/builds/qVPSw-s1/0/********/********/client/ios/Runner.app.dSYM.zip |
+------------------------------------+-----------------------------------------------------------------------------------------------------+
[17:22:57]: Could not retrieve response as fastlane runs in non-interactive mode
+------+--------------------------------------------------+-------------+
| fastlane summary |
+------+--------------------------------------------------+-------------+
| Step | Action | Time (in s) |
+------+--------------------------------------------------+-------------+
| 1 | default_platform | 0 |
| 2 | Switch to ios build_release lane | 0 |
| 3 | Switch to ios certificate_release lane | 0 |
| 4 | Switch to ios get_app_store_connect_api_key lane | 0 |
| 5 | ensure_env_vars | 0 |
| 6 | app_store_connect_api_key | 0 |
| 7 | match | 2 |
| 8 | gym | 522 |
| 9 | Switch to ios get_app_store_connect_api_key lane | 0 |
| 10 | ensure_env_vars | 0 |
| 11 | app_store_connect_api_key | 0 |
| 💥 | appstore | 9 |
+------+--------------------------------------------------+-------------+
[17:22:57]: fastlane finished with errors
Looking for related GitHub issues on fastlane/fastlane...
➡️ Metadata Path is not considered
https://github.com/fastlane/fastlane/issues/18321 [open] 4 💬
2 weeks ago
➡️ GITLAB CI: Could not retrieve response as fastlane runs in non-interactive mode
https://github.com/fastlane/fastlane/issues/17376 [closed] 18 💬
17 Feb 2021
➡️ FastlaneCore::Interface::FastlaneCrash: [!] Could not retrieve response as fastlane runs in non-interactive mode
https://github.com/fastlane/fastlane/issues/17488 [closed] 11 💬
16 Jan 2021
and 53 more at: https://github.com/fastlane/fastlane/search?q=Could%20not%20retrieve%20response%20as%20fastlane%20runs%20in%20non-interactive%20mode&type=Issues&utf8=✓
🔗 You can ⌘ + double-click on links to open them directly in your browser.
bundler: failed to load command: fastlane (/Users/********/builds/qVPSw-s1/0/********/********/client/ios/vendor/bundle/ruby/2.6.0/bin/fastlane)
/Users/********/builds/qVPSw-s1/0/********/********/client/ios/vendor/bundle/ruby/2.6.0/gems/fastlane-2.181.0/fastlane_core/lib/fastlane_core/ui/interface.rb:129:in `crash!': [!] Could not retrieve response as fastlane runs in non-interactive mode (FastlaneCore::Interface::FastlaneCrash)
Which access has your API key? Try to create a new key with App Manager access.
I was able to fix this in my project by adding the force: true option to the upload_to_appstore call in our fastfile. The Fastlane docs list force as an option, but it's hidden behind a "More Options" dropdown.
Also like the other answer says you need to have the proper permissions for your API key. You need an API Key with App Manager permissions to create a new build, which also lets you upload the ipa. I read somewhere that Developer permission is enough to update the build after an App Manager creates it, however I haven't actually tried it.
The lane in our fastfile now looks like this:
lane :release_appstore do
upload_to_app_store(
ipa: "<ipa_path>.ipa",
api_key_path: "<api_key_path>.json",
force: true
)
end

Why autoextend on Oracle XE not worked

We had a problem with our prod environment. Suddenly the exception began to appear.
ORA-01654: unable to extend index EMA.TRANSFERI2 by 128 in tablespace SYSTEM
As the solution of the problem my collegue added new datafile. But the question is, why the autoextend mechanism didn't worked? I'm not DBA, but I checked the configuration and it seems ok to me. It occurs only on prod environment, so I would rather avoid experimenting.
We have the table in system tablespace, which I already know, should be moved to users tablespace. But anyway, autoextend should work also on system tablepsace. Here is my config of table, datafiles and tablespace
TABLESPACE_NAME | PCT_FREE | PCT_USED | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS | MAX_EXTENTS | PCT_INCREASE
SYSTEM | 10 | 40 | 65536 | 1048576 | 1 | 2147483645 | null
FILE_NAME | FILE_ID | TABLESPACE_NAME | BYTES | BLOCKS | STATUS | RELATIVE_FNO | AUTOEXTENSIBLE | MAXBYTES | MAXBLOCKS | INCREMENT_BY | USER_BYTES | USER_BLOCKS | ONLINE_STATUS
/u01/app/oracle/oradata/XE/system.dbf | 1 | SYSTEM | 629145600 | 76800 | AVAILABLE | 1 | YES | 629145600 | 76800 | 1280 | 628097024 | 76672 | SYSTEM
/u01/app/oracle/oradata/XE/system2.dbf | 5 | SYSTEM | 1048576000 | 128000 | AVAILABLE | 5 | YES | 2147483648 | 262144 | 25600 | 1047527424 | 127872 | SYSTEM
TABLESPACE_NAME | BLOCK_SIZE | INITIAL_EXTENT | NEXT_EXTENT | MIN_EXTENTS | MAX_EXTENTS | MAX_SIZE | PCT_INCREASE | MIN_EXTLEN | STATUS | CONTENTS | ALLOCATION_TYPE | SEGMENT_SPACE_MANAGEMENT | BIGFILE
SYSTEM | 8192 | 65536 | null | 1 | 2147483645 | 2147483645 | 65536 | ONLINE | PERMANENT | LOCAL | SYSTEM | MANUAL | NO
The MAXBYTES value for your system.dbf file is set to 629145600, so when your file size reached that limit, it couldn't be extended any further. It had autoextended up to that point, but wouldn't extend beyond the soft limit that had been specified for the file. That was set when the tablespace was created, using the autoextend MAXSIZE clause.
The limit may have been set because of the size of the underlying file system, to cause an error in case of runaway/unexpected growth, unintentionally, or for some other reason now known only to whoever set the database up.
As an alternative to adding a second data file, your DBA could have increased the soft limit on the existing file with alter database. But neither should be done lightly; the reason for the original restriction should be understood (especially if the filesystem could run out of space as a result of an increase) and the reason for growth should be examined too.

Heroku not listing pg_search_documents table

This is pretty weird but for some reason, heroku doesn't seem to show the pg_search_documents table when when I list tables using the heroku-sql-console.
>> heroku sql
SQL> show tables
+------------------------+
| table_name |
+------------------------+
| activity_notifications |
| attachments |
| businesses |
| color_modes |
| comments |
| counties |
| customer_employees |
| customers |
| delayed_jobs |
| file_imports |
| invitations |
| invoices |
| jobs |
| paper_stocks |
| paper_weights |
| quotes |
| rails_admin_histories |
| schema_migrations |
| tax_rates |
| users |
+------------------------+
As you can see, no mention of pg_search.
Then, in the same session,
SQL> select * from pg_search_documents;
+---------------------------------------------------------------------------------------------------------------------+
| id | content | searchable_id | searchable_type | created_at | updated_at |
+---------------------------------------------------------------------------------------------------------------------+
| 3 | Energy Centre | 3 | Customer | 2012-12-03 19:33:55 -0800 | 2012-12-03 19:33:55 -0800 |
+---------------------------------------------------------------------------------------------------------------------+
It's also interesting that the show tables command lists only 20 tables whereas heroku pg:info says there are 21.
The reason this is a problem rather than a curiosity is because I can't get heroku db:pull to pull down the pg_search_documents table (everything else pulls fine) and I can't test migrations on production data.
I'm using PG Version: 9.1.6 on heroku and PostgreSQL 9.2.1 locally. Also PgSearch 0.5.7.
Any ideas what the issue is?

Access violation while the program was idle - not trace information to track down the bug

I have a program that just popped up an AV. Until now the Eureka Log could find the source code line that generated the error but now it displays only this:
Access violation at address 7E452E4E in module 'USER32.dll'. Read of address 00000015.
Call Stack Information:
--------------------------------------------------------------------------------------------
|Address |Module |Unit |Class|Procedure/Method |Line |
--------------------------------------------------------------------------------------------
|Running Thread: ID=2640; Priority=0; Class=; [Main] |
|------------------------------------------------------------------------------------------|
|77F16A7E|GDI32.dll | | |IntersectClipRect | |
|7E433000|USER32.dll | | |EditWndProc | |
|7E42A993|USER32.dll | | |CallWindowProcA | |
|7E42A97D|USER32.dll | | |CallWindowProcA | |
|7E429011|USER32.dll | | |OffsetRect | |
|7E4196C2|USER32.dll | | |DispatchMessageA | |
|7E4196B8|USER32.dll | | |DispatchMessageA | |
|00625E13|Amper.exe |Amper.DPR | | |76[16]|
|7C915511|ntdll.dll | | |RtlFindActivationContextSectionString| |
|7C915D61|ntdll.dll | | |RtlFindCharInUnicodeString | |
|7C910466|ntdll.dll | | |RtlFreeUnicodeString | |
|7C80B87C|kernel32.dll | | |IsDBCSLeadByte | |
|7C9113ED|ntdll.dll | | |RtlDeleteCriticalSection | |
|7C80EEF5|kernel32.dll | | |FindClose | |
|7C901000|ntdll.dll | | |RtlEnterCriticalSection | |
|7C912CFF|ntdll.dll | | |LdrLockLoaderLock | |
|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |
|7C912D19|ntdll.dll | | |LdrUnlockLoaderLock | |
|7C9166C1|ntdll.dll | | |LdrGetDllHandleEx | |
|7C9166B3|ntdll.dll | | |LdrGetDllHandle | |
|7C9166A0|ntdll.dll | | |LdrGetDllHandle | |
|7C912A8D|ntdll.dll | | |RtlUnicodeToMultiByteN | |
|7C912C21|ntdll.dll | | |RtlUnicodeStringToAnsiString | |
|7C901000|ntdll.dll | | |RtlEnterCriticalSection | |
|7C912CC9|ntdll.dll | | |LdrLockLoaderLock | |
|7C912CFF|ntdll.dll | | |LdrLockLoaderLock | |
|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |
|7C912D19|ntdll.dll | | |LdrUnlockLoaderLock | |
|7C90CF78|ntdll.dll | | |ZwAllocateVirtualMemory | |
|7C90CF6E|ntdll.dll | | |ZwAllocateVirtualMemory | |
|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |
|7C80BA57|kernel32.dll | | |VirtualQueryEx | |
|7C80BA40|kernel32.dll | | |VirtualQueryEx | |
|7C80BA81|kernel32.dll | | |VirtualQuery | |
|7C901000|ntdll.dll | | |RtlEnterCriticalSection | |
|7C912CC9|ntdll.dll | | |LdrLockLoaderLock | |
|7C912CFF|ntdll.dll | | |LdrLockLoaderLock | |
|7C9010E0|ntdll.dll | | |RtlLeaveCriticalSection | |
--------------------------------------------------------------------------------------------
The program was totally idle while I got the error and its window was hidden by other windows. FastMM is active and set to full debug but it indicates no memory overwrite.
Any hints about how to find the origin of this AV?
Win XP, Delphi 7
I don't see an EditWndProc() method in user32.dll, but Delphi has a couple -- one dealing with combobox messages and one dealing with tree views. Given MS's comctrl mess, I'd guess you have a tree view?
Check your tree view stuff. Given IntersectClipRect's parameters, it's easy to guess that it's being passed an invalid device context -- so...are you doing any custom painting for your tree view? If so, are you checking to make sure the canvas handle is ! NIL before you begin painting (try assertions if nothing else)?
I just wonder what's on line 76[16] in Amper.exe... That line number might be a hint of the location of the error.
Then again, when it's just happening during an idle moment then it basically happens when the system is processing Windows messages like the mouse moving, keyboard events, timer updates and a lot more.
It sometimes helps to search for the error message plus code. I've done a quick scan and found this KB from MS which suggests that this kind of error can happen when you call certain Windows API's with invalid parameters. But this KB doesn't apply to your error. Still, it gives you an idea about what to check: any Windows API call you make in your own code.
Does it also generate this exception in the IDE, while you're debugging?
That's what EurekaLog does when it has nothing to work with. You need to rebuild and have the linker produce a detailed map file. That's how it knows what to apply its stack trace to.

Resources