Error developer_dir is not defined at

error developer_dir is not defined at

Project Problem Resolution "Error:" Developer_dir "is not defined at./symbolicatecrash line 53." This is a problem that occurred when you. Error: "DEVELOPER_DIR" is not defined at./symbolicatecrash line 60. Just don't worry, the following command can solve this issue. export DEVELOPER_DIR="/. In the next step you set the DEVELOPER_DIR environment variable. Then you can check if UUIDs match (I mean if crash contains UUID from.

Error developer_dir is not defined at - pity

[vim] Fix configure script with DEVELOPER_DIR environment variable (#482)

Kazuki Sakamoto's profile photo

Kazuki Sakamoto

unread,
Nov 17, 2015, 5:39:07 PM11/17/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to vim/vim

configure script always fails if DEVELOPER_DIR environment variable is set even
though it is the right value ().

The problem is configure script overrides DEVELOPER_DIR environment variable
with empty string not make variable if option is not
present and DEVELOPER_DIR environment variable already exists.


You can view, comment on, or merge this pull request online at:

https://github.com/vim/vim/pull/482

Commit Summary

  • Fix configure script with DEVELOPER_DIR environment variable

File Changes

Patch Links:


Reply to this email directly or view it on GitHub.

nuko8's profile photo

nuko8

unread,
Nov 17, 2015, 10:05:57 PM11/17/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to vim/vim

is an internal variable of . I'm afraid it is not for a variable to be overwritten via command line. (If it were so, would check the value before assigning a certain value to the variable.)

Since the name of the variable happens to be the same as that of an environmental variable for , both and are made confused by the command line

Here, is relevant because is not a real but a stub to invoke a true with the help of whose behavior depends on when it is defined.

That's why a number of messages like

are left in just after is invoked.

Obviously, this implies that the usage of in question makes completely useless. (If necessary, try

to make sure.)

In fact, I observed that had been giving "no" to almost all of the checks long before the failure of the terminal library detection finally killed .

Since it is clear that there's a risk for to interfere with 's environmental variable, it might make sense to rename it.

Kazuki Sakamoto's profile photo

Kazuki Sakamoto

unread,
Nov 17, 2015, 11:28:08 PM11/17/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to vim/vim

In the first place, we still must support building Vim on OS X 10.4? These configure script stuff is actually interference. I don't think option is needed ( environment variable works).

Manuel Ortega's profile photo

Manuel Ortega

unread,
Nov 17, 2015, 11:40:36 PM11/17/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

You do not have permission to delete messages in this group

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to [email protected]

Kazuki Sakamoto's profile photo

Kazuki Sakamoto

unread,
Nov 18, 2015, 12:31:19 AM11/18/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to vim/vim

Ok, that's fine. Still my patch is correct way to fix the issue.

Bram Moolenaar's profile photo

Bram Moolenaar

unread,
Nov 19, 2015, 4:47:15 PM11/19/15

Reply to author

Sign in to reply to author

Forward

Sign in to forward

Delete

Link

Report message as abuse

Sign in to report message as abuse

Show original message

Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message

to vim/vim

Hibernate Delete Error: Batch Update Returned Unexpected Row Count

I wrote this method below that is suppose to delete a member record from the database. But when I use it in my servlet it returns an error.

MemberDao Class

Controller Part

HTTP Status 500

Sometimes it even throws this error when I try to execute the page multiple times.

Does anybody know what exactly is causing these errors?


2 Answers

The error can be caused by several things. I'm not taking the credit for it, found it here.

  1. Flushing the data before committing the object may lead to clear all object pending for persist.
  2. If object has primary key which is auto generated and you are forcing an assigned key
  3. if you are cleaning the object before committing the object to database.
  4. Zero or Incorrect ID: If you set the ID to zero or something else, Hibernate will try to update instead of insert.
  5. Object is Stale: Hibernate caches objects from the session. If the object was modified, and Hibernate doesn’t know about it, it will throw this exception — note the StaleStateException

Also look at this answer by beny23 which gives a few further hints to find the problem.

  • In your hibernate configuration, set hibernate.show_sql to true. This should show you the SQL that is executed and causes the problem.
  • Set the log levels for Spring and Hibernate to DEBUG, again this will give you a better idea as to which line causes the problem.
  • Create a unit test which replicates the problem without configuring a transaction manager in Spring. This should give you a better idea of the offending line of code.

The exception use to be thrown when Hibernate notice that the entity he wants to flush to the database isn't exactly as it was at the beginning of the transaction.

I described more in details two different use cases that happen to me here.


Credits

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: StackOverflow


Xcode – Trying to get symbols for an iOS .crash file

I'm stumped on how to get symbols for a .crash file out of xcode.

I have the .crash file, the .app file, the .ipa file and the .dSYM file. I drag the crash log into the xcode organizer and I see the crash log with symbols for system calls, but no symbols for my app.

The .app/.ipa was built by our build machine, so it was not archived via xcode.

I tried placing all three files (well, two are actually directories but look like files to the Mac) in the same folder and nothing. I tried running symbolicatecrash from the command line while in that directory and I get this error:

I tried setting DEVELOPER_DIR to /Applications/Xcode.app and it gets further, but now I see a slew of errors that read:

I'm stumped. You'd think this would be easier given all 4 needed files are in same directory.

I am running xcode 4.4, but was experiencing the same issues last night with 4.3. I was hope upgrading would help.

1 get the unresolved crash log.

Connect iPhone to Mac and download the crash log on iPhone from Xcode – > window – > devices view device logs.

2 get dsym file

Each time the project is compiled, a dsym file with the same name as app is generated.

Different companies package in different ways. If the automation process is done well, there is usually a cluster. Find the corresponding dsym file and download it. The name is usually XXX app. dSYM

3 symbolization using Xcode’s symbolic graph tool

3.1 find symbolicatecrash

Open the terminal and enter the command:

Results of my Mac:

Mac, mobile phone, simulator and other different versions. If the iPhone is the last choice.
Open path:

Copy out the symbol cache.

3.2 place crash, dsym and symbolicatecrash in the same folder

For example, I put it in

3.3 execute commands to generate symbolic files

Where my Crash is the crash log; my1211. app. Dsym is a dsym file.

All commands converge on one graph
How to use dsym to symbolize crash logs. Analyze online crash

4 frequently asked questions

4.1 Error: “DEVELOPER_DIR” is not defined at ./symbolicatecrash

The solution is to execute the command at the terminal:

4.2 Warning: Unable to symbolicate from required binary: ~/Xcode/iOS DeviceSupport/13.6 (17G68) arm64e/Symbols/System/Library/Frameworks/CFNetwork.framework/CFNetwork

Because crash logs and The UUID of the dsym file does not match.

For example, QA said that the crash was generated on Friday, so I downloaded the dsym file corresponding to the package on Friday from the cluster.
However, the actual QA made a mistake. The crash is the package downloaded on Thursday, so the dsym file corresponding to the package on Thursday should be used to ensure the consistency of UUIDs.

4.21 how to view UUID

UUID of dsym

View my1211 app. UUID of dsym file, enter the command at the terminal:

UUID of crash log

Binary images in the crash file. The string in the next line < > is the UUID of the crash file. At the end of the line is the name of the app and its path.

How to manually symbolicate crash on Apple platforms

    1. You can find file in file. In case you can see only .ipa file, decompress it just like an ordinary .zip file and extract .app file from it.
    2. file can be also found in file. If you have file you can find file in this package. Also if you have file you can extract file by decompressing it. It’s just like file.
    3. The last option is a derived data folder. You can find file by the following way: DerivedData -> “YourApp” -> Build -> Products -> “YourDevice”

 

Symbolicating

  1. In the beginning of symbolicating process you need to find the command line tool provided by Apple. The tool is called “symbolicatecrash” and is shipped with Xcode. Open Terminal and write this command:
    $ find /Applications -name symbolicatecrash
    You will see something like that:
    Find the path which contains DVTFoundation.framework. Copy the full path to the clipboard. You will use it later.
  2. In the next step you set the DEVELOPER_DIR environment variable. Write this command: $ export DEVELOPER_DIR=”/Applications/Xcode.app/Contents/Developer”
  3. Finally, this is the last step of the process. Paste the previously copied value to the terminal (the path of symbolicatecrash tool). This tool takes two arguments. The first argument is the path to your crash file. The second argument is the path to the dSYM file. So, the final command may look like this: $/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash MyAwesomeCrash.crash MyAwesomeApp.dSYM > Symbolicated.crash

You are done! Pretty simple, right? ????
At this moment Symbolicated.crash file contains human-readable text. You can see your class name, method name, and file name.

Unsymbolicated

Symbolicated

Multiple dSYMs

Crash can occur either in a third-party framework or your own framework. So, you have of your App and another file of your framework. Symbolicating this type of crash is very simple. The second parameter of command is path. It can be a path to folder which contains multiple . It will use all dSYMs in that folder to symbolicate your crash.

I have a confession – I lied a little bit to you. The second parameter of symbolicatecrash tool is rather optional, so you can freely omit it. The symbolicatecrash tool finds correct dSYMs files on your disk and then use them for symbolicating your crash. So, the second parameter is used only for defining another path that will help to search dSYMs files (e.g. flash disc). Following such a method, you can be sure that the tool will use the same path as well…

If it doesn’t work

As it happens, sometimes things don’t work out the way you want them to.. You have to check whether UUID of your , and crash match together. It’s also simple – use another command line tool. This tool is called dwarfdump. You can easily extract UUID out of that files with this tool. If you have file named like this “MyAwesomeApp.dSYM” you can write this command in terminal:

$ dwarfdump –uuid MyAwesomeApp.dSYM/Contents/Resources/DWARF/MyAwesomeApp

It returns something like this:
UUID:2D189BEA-FFCF-36EF-B8D1-FD4220374034(arm64)MyAwesomeApp.dSYM/Contents/Resources/DWARF/MyAwesomeApp

Then you can check if UUIDs match (I mean if crash contains UUID from .dSYM file) by this command:

grep -o -i ‘2d189bea-ffcf-36ef-b8d1-fd4220374034’ MyAwesomeCrash.crash

If you want to understand more deeply this topic, please visit the official Apple documentation.

Do you need more detailed help? Book a consultation:
Let’s chat about it

Do you want more?

We share the world of software development on our Instagram. Join us 🙂

 

 

We also tend to look for Android dev (iOS as well), but there are also chances for a project manager or a tester. Send us an e-mail: [email protected]

Xcode comes with the tool symbolicatecrash to parse iOS Crash files

Environment: Xcode8

1. Find the .app file and .app.dSYM file

  • Create a crash folder on the desktop, then Xcode->Window->Organizer find Archives to find App -> right click Show in
    Finder

  • Copy the .app and .app.dSYM to crash folder: Right-click .xcarchive File -> Show Package Contents
    found in dSYMs folder .app.dSYM
    found Products-> Applications folder * .app

2. find symbolicatecrash

find/Applications/Xcode.app -name symbolicatecrash -typef

  • After a while, there will be a path output, this path is the path of symbolicatecrash

/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

  • Use the command to copy symbolicatecrash to the crash folder on the desktop, and put it together with .app and .app.dSYM (you can find symbolicatecrash manually and copy it out)

cp/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash/Users/your computer name/Desktop/crash

3. execute symbolicatecrash

  • Open the terminal and use the command to switch to the crash directory of the desktop:

cd/Users/your computer name/Desktop/crash

./symbolicatecrash/Users/angelseahappiness/Desktop/crash/Control_2014-01-13-111838_Lynns-iPad3.crash/Users/angel/Desktop/crash/Control.app.dSYM > Control_symbol.crash

  • At this time, the terminal may appear:

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line69.

export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"

  • Re-execute, this time the terminal will be processed
  • After the terminal is completed, there will be an extra file Control_symbol.crash in the crash folder: this is the final file, you can view the location of the bug.

build_app

Easily build and sign your app (via gym)


Features • Usage • Tips


gym is part of fastlane: The easiest way to automate beta deployments and releases for your iOS and Android apps.

gym builds and packages iOS apps for you. It takes care of all the heavy lifting and makes it super easy to generate a signed or file 💪

gym is a replacement for shenzhen.

Before gym

With gym

Why gym?

gym uses the latest APIs to build and sign your application which results in much faster build times.

Gym Features
🚀gym builds 30% faster than other build tools like shenzhen
🏁Beautiful inline build output
📖Helps you resolve common build errors like code signing issues
🚠Sensible defaults: Automatically detect the project, its schemes and more
🔗Works perfectly with fastlane and other tools
📦Automatically generates an and a compressed file
🚅Don't remember any complicated build commands, just gym
🔧Easy and dynamic configuration using parameters and environment variables
💾Store common build settings in a
📤All archives are stored and accessible in the Xcode Organizer
💻Supports both iOS and Mac applications

/img/actions/gymScreenshot.png


/img/actions/gym.gif

That's all you need to build your application. If you want more control, here are some available parameters:

If you need to use a different Xcode installation, use or define :

For a list of all available parameters use

If you run into any issues, use the mode to get more information

Set the right export method if you're not uploading to App Store or TestFlight:

To pass boolean parameters make sure to use gym like this:

To access the raw output open

Since you might want to manually trigger a new build but don't want to specify all the parameters every time, you can store your defaults in a so called .

Run to create a new configuration file. Example:

Export options

Since Xcode 7, gym is using new Xcode API which allows us to specify export options using file. By default gym creates this file for you and you are able to modify some parameters by using , , or . If you want to have more options, like creating manifest file for app thinning, you can provide your own file:

or you can provide hash of values directly in the :

Optional: If gym can't automatically detect the provisioning profiles to use, you can pass a mapping of bundle identifiers to provisioning profiles:

Note: If you use fastlane with match you don't need to provide those values manually, unless you pass a plist file into

For the list of available options run .

Setup code signing

Automating the whole process

gym works great together with fastlane, which connects all deployment tools into one streamlined workflow.

Using fastlane you can define a configuration like

When gym raises an error the property will contain the process output in case you want to display the error in 3rd party tools such as Slack.

You can then easily switch between the beta provider (e.g. , , and more).

gym uses the latest APIs to build and sign your application. The 2 main components are

When you run gym without the mode it will print out every command it executes.

To build the archive gym uses the following command:

After building the archive it is being checked by gym. If it's valid, it gets packaged up and signed into an file.

gym automatically chooses a different packaging method depending on the version of Xcode you're using.

Xcode 7 and above

gym makes use of the new Xcode 7 API which allows us to specify the export options using a file. You can find more information about the available options by running .

Using this method there are no workarounds for WatchKit or Swift required, as it uses the same technique Xcode uses when exporting your binary.

Note: the xcbuild-safe.sh script wraps around xcodebuild to workaround some incompatibilities.

Use 'ProvisionQL' for advanced Quick Look in Finder

Install ProvisionQL.

It will show you files like this: img/actions/QuickLookScreenshot-App.png


build_app
Supported platformsios, mac
Author@KrauseFx
ReturnsThe absolute path to the generated ipa file

5 Examples

Parameters

KeyDescriptionDefault
Path to the workspace file
Path to the project file
The project's scheme. Make sure it's marked as
Should the project be cleaned before building it?
The directory in which the ipa file should be stored in
The name of the resulting ipa file
The configuration to use when building the app. Defaults to 'Release'*
Hide all information that's not necessary while building
The name of the code signing identity to use. It has to match the name exactly. e.g. 'iPhone Distribution: SunApps GmbH'
Should we skip packaging the ipa?
Should we skip packaging the pkg?
Should the ipa file include symbols?
Should the ipa file include bitcode?
Method used to export the archive. Valid values are: app-store, validation, ad-hoc, package, enterprise, development, developer-id and mac-application
Path to an export options plist or a hash with export options. Use 'xcodebuild -help' to print the full set of available options
Pass additional arguments to xcodebuild for the package phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
Export ipa from previously built xcarchive. Uses archive_path as source
After building, don't archive, effectively not including -archivePath param
Build without codesigning
Platform to build when using a Catalyst enabled app. Valid values are: ios, macos
Full name of 3rd Party Mac Developer Installer or Developer ID Installer certificate. Example:
The directory in which the archive should be stored in
The path to the created archive
The directory where built products and other derived data will go
Should an Xcode result bundle be generated in the output directory
Path to the result bundle directory to create. Ignored if if false
The directory where to store the build log*
The SDK that should be used for building the application
The toolchain that should be used for building the application (e.g. com.apple.dt.toolchain.Swift_2_3, org.swift.30p620160816a)
Use a custom destination for building the app
Optional: Sometimes you need to specify a team id when exporting the ipa file
Pass additional arguments to xcodebuild for the build phase. Be sure to quote the setting names and values e.g. OTHER_LDFLAGS="-ObjC -lstdc++"
Use an extra XCCONFIG file to build your app
Suppress the output of xcodebuild to stdout. Output is still saved in buildlog_path
xcodebuild formatter to use (ex: 'xcbeautify', 'xcbeautify --quieter', 'xcpretty', 'xcpretty -test'). Use empty string (ex: '') to disable any formatter (More information: https://docs.fastlane.tools/best-practices/xcodebuild-formatters/)*
DEPRECATED! Use instead - Disable xcpretty formatting of build output
Use the test (RSpec style) format for build output
A custom xcpretty formatter to use
Have xcpretty create a JUnit-style XML report at the provided path
Have xcpretty create a simple HTML report at the provided path
Have xcpretty create a JSON compilation database at the provided path
Have xcpretty use unicode encoding when reporting builds
Analyze the project build time and store the output in 'culprits.txt' file
Do not try to build a profile mapping from the xcodeproj. Match or a manually provided mapping should be used
Allows for override of the default command
Sets a custom path for Swift Package Manager dependencies
Skips resolution of Swift Package Manager dependencies
Prevents packages from automatically being resolved to versions other than those recorded in the file
Lets xcodebuild use system's scm configuration

* = default value is dependent on the user's system


Lane Variables

Actions can communicate with each other using a shared hash , that can be accessed in other actions, plugins or your lanes: . The action generates the following Lane Variables:

SharedValueDescription
The path to the newly generated ipa file
The path to the newly generated pkg file
The path to the dSYM files
The path to the xcodebuild archive

To get more information check the Lanes documentation.


Documentation

To show the documentation in your terminal, run


CLI

It is recommended to add the above action into your , however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

To pass parameters, make use of the symbol, for example

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. ). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your .


Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub


Back to actions

watch the thematic video

There has been a critical error on this website and how to correct it

0 Comments

Leave a Comment