Level : 13,720 WORDPRESS BOOK LINKEDIN PATENT Send Mail 동냥하기 윤지오

Digital Nomad

- NSAttributedString.Key.underlineStyle : []] 

+ NSAttributedString.Key.underlineStyle : 0]

 

로 해결.

 

아래는 로그

 

"[tendency period tab is clicked.]"

"Period bar has been refreshed"

🍭pwd_getStatePeriod()

TendencyPeriodBar refresh()

jhPanel draw()

drawPanel()

ctime in jhType3graphPanel<T> =  Optional(2019-04-08 01:25:44 +0000)

jhPanel draw()

drawPanel()

ctime in jhType2graphPanel<T> =  Optional(2019-04-08 01:25:44 +0000)

jhPanel draw()

drawPanel()

ctime in jhType4graphPanel<T> =  Optional(2019-04-08 01:25:44 +0000)

2019-04-08 10:25:44.930816+0900 Bridge2[21969:1272559] -[Swift.__EmptyArrayStorage intValue]: unrecognized selector sent to instance 0x1c1cab360

2019-04-08 10:25:44.932463+0900 Bridge2[21969:1272559] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[Swift.__EmptyArrayStorage intValue]: unrecognized selector sent to instance 0x1c1cab360'

*** First throw call stack:

(0x18817c518 0x1873579f8 0x188099278 0x188181d60 0x1881839fc 0x1927d600c 0x192763b6c 0x1b4aee160 0x1b4aeca5c 0x102b315a8 0x102b316b8 0x1b4b7b4e4 0x18c609d94 0x18c4ee974 0x18c6108a0 0x18c609658 0x18c572160 0x18c5a0108 0x1b46ed710 0x1b47d61f4 0x1b47cf11c 0x18810e2bc 0x18810e23c 0x18810db24 0x188108a60 0x188108354 0x18a30879c 0x1b46f3b68 0x102bc69b4 0x187bce8e0)

libc++abi.dylib: terminating with uncaught exception of type NSException

 

 

 

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

swift 4.0 -> 4.2 가며 만난 에러님.  (0) 2019.04.08
:-1: Segmentation fault: 11  (0) 2019.04.03
딥러닝 환경 구축 중  (0) 2019.02.07
StackView bug  (0) 2019.02.06
gitlab clone error  (0) 2019.02.05
리팩토링 중 만난 몇 가지 상황  (0) 2019.02.04

Comment +0

Command CompileSwift failed with a nonzero exit code


업그레이드 한 것이 실수 였다.




Segmentation fault: 1 1

Command CompileSwift failed with a nonzero exit code



 1. pod deintegrated 설치 실행 이후 pod 다시 설치 -> 안됨

  1. ulimit -u 수정이 안되는 확인, /etc/security/limits.conf 수정


* soft nofile 65535

* hard nofile 65535


sudo launchctl limit maxfiles 1024 1024


개뿔 reboot 해야 한다.


https://docs.riak.com/riak/kv/2.2.3/using/performance/open-files-limit/


https://gist.github.com/tombigel/d503800a282fcadbee14b537735d202c



안된다.


https://bugs.swift.org/browse/SR-10182 를 보니 아이폰과 엑스코드를 업그레이드 한 것이 재앙이었다.


뜨아아아아

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

swift 4.0 -> 4.2 가며 만난 에러님.  (0) 2019.04.08
:-1: Segmentation fault: 11  (0) 2019.04.03
딥러닝 환경 구축 중  (0) 2019.02.07
StackView bug  (0) 2019.02.06
gitlab clone error  (0) 2019.02.05
리팩토링 중 만난 몇 가지 상황  (0) 2019.02.04

Comment +0

you can set the PYTHON env variable.


npm config set python c:\python36_64


set PYTHON=c:\python


set PATH=%PATH%;%PYTHON%



그러나... 다른 npm 애들을 installation 하는데 -f를 쓸 일이 많아졌고,


뭔가 점점 꼬여갔다.


일전에 구글 딥러닝 example 따라 해 볼 때도 안되서 결국 우분투 환경으로


했었는데...


이번에도 마음 편하게 우분투에서 하자고 마음 먹었다.


terminator install.

ssh key copy & modification config

apt-get install git

apt-get install nodejs

nodejs-legacy

vim

./webstorm.sh

git clone git@github.com:googleapis/nodejs-vision.git


Refusing to install @google-cloud/vision as a dependency of itself

-> vision API는 -f 로 설치


   27  # Create an environment variable for the correct distribution

   28  export CLOUD_SDK_REPO="cloud-sdk-$(lsb_release -c -s)"

   29  # Add the Cloud SDK distribution URI as a package source

   30  echo "deb http://packages.cloud.google.com/apt $CLOUD_SDK_REPO main" | sudo tee -a /etc/apt/sources.list.d/google-cloud-sdk.list

   31  # Import the Google Cloud Platform public key

   32  curl https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -

   33  # Update the package list and install the Cloud SDK

   34  sudo apt-get update && sudo apt-get install google-cloud-sdk

   35  sudo apt-get update && sudo apt-get install google-cloud-sdk -y

   36  sudo apt-get update && sudo apt-get install google-cloud-sdk -y --allow-unauthenticated



gcloud auth application-default login


Error: `gyp` failed with exit code: 1


을 거쳐... 이미지 분석기까지는 돌려봄.



'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

swift 4.0 -> 4.2 가며 만난 에러님.  (0) 2019.04.08
:-1: Segmentation fault: 11  (0) 2019.04.03
딥러닝 환경 구축 중  (0) 2019.02.07
StackView bug  (0) 2019.02.06
gitlab clone error  (0) 2019.02.05
리팩토링 중 만난 몇 가지 상황  (0) 2019.02.04

Comment +0

    lazy var hStackView : UIStackView = {

        let ret = UIStackView()

        ret.axis = .horizontal

        ret.distribution = .equalSpacing

        ret.alignment = .center

        ret.spacing = 1

        return ret

}()

 TroubleShooting

스택뷰 버그 때문에 검색 하셨을 것 같다.

스크롤뷰 안에 스크롤뷰를 넣었을 때는 dummy UIView()를 생성하여 해당 뷰에 붙인 뒤 스크롤 뷰에 넣으니 버그가 나오지 않았다.

사용자 제스쳐(핀치 줌 인/아웃, 스크롤 등) 에 문제가 있어서 취한 조치였다.

스택뷰 아에 스택뷰를 넣고 또 그 안에 스택뷰를 넣은 후 그 안에서 아무리 그림을 그리더라도 UIView에 그리고 붙이면 아무런 문제가 나오지 않을거라 생각했다.


스택 뷰 안에 스택 뷰는 문제가 된다.

그래프가 같이 들어가는 경우 문제가 되더라. 화면에 나오지 않았다. add arrage는 안나오고 addsubview 는 잘 나오는 현상...

관련해서 인터넷 서핑도 많이 해봤지만 우선, 코드로만 여러번 중첩해서 쓰는 경우는 많지 않아서 아직은 안 쓰는게 낫다고 생각했다.


잘 되는 곳에서는 쓰고 아닌 곳에서는 안쓴다.


대안은?

빌더 패턴으로 UIView를 생성할 때 해당 view 내에서 y값만 증가시켜서 패널을 붙이는 빌더 패턴을 만들면 된다.


코드는?

   func createPanels(s : jhScene, withHeightRatios: ratioNtype...) {

        

        var panel : jhPanel<jhScene>? = nil

        var y : CGFloat = 0.0

        var vHeight : CGFloat = 0.0

        

        "".pwd(self)

        

        for rnt in withHeightRatios {


      if(GS.s.logLevel.contains(.graphPanel)) { print("createPanels(withHeightRatios: CGFloat...)", rnt)}

            

            assert(!(rnt.ratio < 0.1 || rnt.ratio > 10.0), "heightRation Range is 0.1~10.0")

            

            vHeight = rnt.ratio * 0.1 * self.jhSceneFrameHeight

            panel = jhGraphBuilder<jhScene>()

                .type(rnt.type)

                .frame(0, y, jhSceneFrameWidth*4, vHeight)

                .scene(self)

                .build()

            y += vHeight

뭐 이런 식.  그래프 빌더가 호출 될 때마다 height 값을 증가시켜서 스택뷰처럼 보이게 만든다. height가 20 이고 이전 y 값이 0이었다면 그 다음 CGRect의 y값은 20, 또 붙이면 40... 이런 식.



 

jh = junho



'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

:-1: Segmentation fault: 11  (0) 2019.04.03
딥러닝 환경 구축 중  (0) 2019.02.07
StackView bug  (0) 2019.02.06
gitlab clone error  (0) 2019.02.05
리팩토링 중 만난 몇 가지 상황  (0) 2019.02.04
정부 기관 웹 페이지 에러  (0) 2019.01.29

Comment +0

TroubleShooting 

ERROR MSG.

packet_write_wait: Connection to 35.231.145.151 port 22: Broken pipe

fatal: The remote end hung up unexpectedly

fatal: early EOF

fatal: index-pack failed


sshd_config

ClientAliveInterval 60

ClientAliveCountMax 5

not working properly

sudo launchctl stop com.openssh.sshd

sudo launchctl start com.openssh.sshd


ssh timeout 시간만 늘였다

60 * 5 seconds = 5 min


인터넷 속도 좋을 때는 그냥 잘됨

잘 되는데 갑자기 안되는 경우 인터넷이 느려져서...

 



 

99.99%


Comment +0

1. var let으로 바꾸지 말자. 처음부터 let으로 하려고 노력하고 안되면 var는 var 그대로...


Cannot pass immutable value as inout argument: 'ret' is a 'let' constant


var가 리팩토링 중 immutable 해져서 let으로 바꾸었는데 &로 주소 넘기기는 안되나 보다. 굳이 바꾸지 않더라도 copy로 넘기고 싶진 않은데, 따져보면 상수로 저장된게 카피 될리가 없지.


Use of extraneous '&'


같은 류. 구조를 수정해서 var를 let으로 바꾸었다고 좋아했는데... 걍 바꾸지 말자.


2. void pointer는 언제나 만능이었다. JAVA 에서는 Object와 interface,  swift에서는 protocol 뿐. 상위 객체 포인터 믿지마. 안돼.


Cannot convert value of type 'jhSceneTimeLine' to expected argument type 'inout jhScene'


jhSceneTimeLine 이 jhSscene를 상속받았는데도 불구하고 상위 포인터로 하위 object를 받을 수 없었다.


자바에서는 다형성이 잘 지켜져 때문에 뭣하면 최상위 Object로 넘기고(void 포인터) 캐스팅해서 쓰면 되었는데...


swift에서 그 정도의 파격은 허용되지 않았다.  그래서 상위 protocol을 선언하고 모두 상속받게 하여 상위


포인터(인스턴스 변수)를 프로토콜로 하면 모두 통용된다.


SWIFT 나름의 개념이 있지만 포인터로 이해하면 리팩토링시 이해 안되는 부분은 없다.


3. 너무 복잡한 일반화는 독... 걍 클래스 다이어그램을 처음부터 잘 그려야 함.


Cannot assign value of type 'T' to type 'T'


일반화 하면서 만나는 에러, <T>를 상속받는 녀석은 꼭 <T>를 명시하고 builder pattern 적용할 때도 명시해야 한다. 에러라도 나오면 다행인데 builder pattern에 적용했을 때 <T>를 안 적어주고 생성했는데 잘 되더라. 결국 논리 오류로 나오고 찾기 빡쌨음 ㅠ. 4.2 버전인데 5가면 요런 에러 필터링 기능이 더 좋아지겠지.


4. 프로퍼티는 처음부터 누가 가질지 잘 설계하자. protected 없다. 빈자리 크다.


Cannot override with a stored property 'mPanels


새로운 구현인데 원래 구현이 아까워 제네릭화 하다가 프로퍼티 오버라이딩 중 생긴 오류.


같은 이름을 쓰려면 접근 제한자(privagte)을 통하는 방법외엔 없다.


Method does not override any method from its superclass


Value of type 'jhType1graphLayer' has no member 'superScene'

Use of unresolved identifier 'panelID'


접근 제한자 때문에 여러 상황이 생긴다.


protected가 없으니 JAVA처럼 생각해서 설계하거나, 리팩토링 하는 것은 그만둬야 겠다.


객체지향이 들어갔으니 객체 단위로 생각해야 하는데, 모듈 단위는 사실상 폴더 단위라... ㅡㅡ;


하긴 fileprivate은 또 파일 단위인데 프로그래밍 하다보면 한 파일에 하나의 class를 넣는게 맞다는


생각이 참 많이 든다. 이런게 잘 안되니 extension 남발하게 된다. extension이나 데코레이션 패턴은


사실상 작은 단위의 설계가 되지 않는다. 작은 프로젝트는 코딩하면서 설계도 자동으로 되는데 말이다.


5. 제네릭 리팩토링이 자바에 비해 너무 힘들었다. 배 GoF다.


Cannot specialize non-generic type 'jhBarGraph'

프로퍼티나 function이 비슷한 모양(접근 제한자, 인자, 인자에 들어가는 데이터 타입 등등)

이면 편한데 아닌 경우 빡쌨다.


건네 줄 옵션이 많은 애들은 일반화 하면서 


타입 뿐 아니라 파라미터까지 달라져야 한다면 빌더 패턴이 답이다.


func build() -> jhPanel<T> {


switch mGtype {


case .LINE:


return jhLineGraph<jhScene>(frame: CGRect(x: x, y: y, width: width, height: height))


case .BAR:


return jhBarGraph<jhScene>(frame: CGRect(x: x, y: y, width: width, height: height))


case .TYPE1:


return jhType1graphPanel<jhSceneTimeLine>(frame: CGRect(x: x, y: y, width: width, height: height), scene: superScene)


case .TYPE4:


return jhType4graph<jhSceneTimeLine>(frame: CGRect(x: x, y: y, width: width, height: height))


}


안드로이드 스튜디오도 참 많이 좋아졌지만, 이클립스에 있던 리팩토링 기능만 해도 지금의  swift보다는 더 강력했다. 제네릭으로 어느 정도 꼬이니 이제 cmd+shift+O 도 찾고자 하는 클래스를 잘 못 찾고 헤매는 경우가 많더라.



스위프트 4.0 -> 4.2 짜증

'NSAttributedStringKey' has been renamed to 'NSAttributedString.Key'


6. lvalue 옵셔널 모든 에러 안 잡더라 대입 잘된다. 조심하자.


 옵셔널은 사실상 null check 에 편한 문법과 설계상 고려하라고 만든 문법이다. 그러나 특정 상황에서는 무조건 null이 안되는 경우가 있기 때문에 옵셔널을 전달받은 어떤 객체가 꼭 옵셔널일 필요는 없다. 그래서 !가 있는데 !는 사실 안쓰는게 맞거든... ! 쓸바엔 Assert가 맞지.



이렇게 예민한 이유는 컴파일/런타임 에러 없는 논리 오류 하나 찾기가 참 어려웠는데, ...


답은 Optional? 에 대입해서였다. 옵셔널이 윗단에서 주구창장 내려온 경우 대입할 때 ?를 붙여서


대입해 버렸는데, 참... 대입 잘되더라.


이런 오류 날 것 같지?


Initializer for conditional binding must have Optional type, not '[CGFloat]'


안나는 경우도 있었다. 정리하면서 했던게 아니고 논리 오류 찾는데 힘들었기에 원칙으로 남겨둔다. 엘벨류 조심하자.


아니면, 한번 옵셔널은 계속해서 옵셔널로 하는게 좋겠다. 상위단에서 있을 수도 없을 수도 있는게 하위단으로 내려간다면 하위단에는 무조건 있는 것으로 바꿔야 하는 경우가 있었다. 널체크 하고 넘기는데 사실, 그게 그 객체를 구성하는 프로퍼티중에 핵심적인 것은 아니어서 있으나 마나한... 


반대의 경우도 있었다. 옵셔널이 아니었는데 상속 구조상 어느 객체에는 있고 어느 객체에는 없는

프로러티가 되어 버린 경우, 두 가지 클래스에 먹히는 제네릭 클레스를 만든 경우... 해당 프로퍼티는

옵셔널이 되어야만 했다.


최대한 이런 경우를 없애야 하는데 개념상 그렇게 구현을 해야 하고...


그렇게 꼬이다 보면 결국 디자인 패턴을 쓰게 된다. 오늘 파일을 나눈 방식을 정리하면,


Separation

- flag

    - flag + if, switch 원초적이나 시온이다.

    - C에서는 #define 이 짱이지. #ifdef, #ifndef

- file

    - separated file + call(자바 때부터 뭐... startActivity using intent, function call, pushViewController...) 콜만 잘되서 연결되면 오케이 였다. 리눅스에서도 그랬잖아. 시스템 콜 잘 부르면 되고... 커널 API만 잘 쓰면 되고.

    - separated file + builder pattern - passing self again and again(늘 고맙지)

    - separated file + proxy pattern(related with memory managements) - can't using directly 객체 단위 캡슐화닷!

    - separated file + adapter pattern - overriding, generic, converting ... whatever use current class or method 고치기 힘들어서 걍 중간 다리 만들었다.

    - separated file + decorator pattern - also passing object via parameter(서브 클래싱 대신 기능 확장용... 익스텐션이 낫다.)

    - separated file + bridge pattern - also passing object via parameter(구현부에서 추상층을 분리 ㅡㅡ; 제네릭화 ... 개고생 어댑터가 낫다.)


이정도 인데 사실 structural 패턴을 쓰다보면 파라미터에 함수 포인터를 넣어서 자기 객체를 계속해서 넘겨 주느냐 안 넘겨 주느냐가 핵심이다. 안 넘겨 주면 중간에 다리 역할을 할 친구를 찾는거고.


결국 소스를 가장 적게 수정하는 것은 싱글톤을 넣는게 최고.


객체 단위니 싱글톤이고 그 개념은 결국 플래그고... 플래그는 결국 세마포어고...


믓튼 


풀 때는 guard로만 풀자고 다짐해 본다.


몇몇 메모리 오류가 났는데,


Kernel Alloc Once 8K 2


MALLOC 293.3M 126


MALLOC guard page 176K 39


MALLOC_LARGE (reserved) 516K 2 reserved VM address space (unallocated)


swift 역시 메모리 관리 한다고 욕본다.


추상화 개념은 추상화 그대로 이해하고 싶은데, ... 결국 메모리 중심으로 생각하는게 정답이라는 생각.


var
 str = "A String"

withUnsafePointer(to: &str) {

    print(" str value \(str) has address: \($0)")

}



메모리 안에서 우린 평안할 지어다.


쓰다보니 뇌 컨디션이 좀 돌아온다.




Comment +0

http://www.minwon.go.kr/TouchEn/nxKey/module/TouchEn_nxKey_Installer.pkg?ver=1.0.0.47






"요청 페이지 오류"

요청하신 페이지가 잘못되었으니 아래를 확인하신 후 다시 접속하여 주시기 바랍니다.

1. 정부민원포털 : http://www.minwon.go.kr

2. 민원처리운영창구 : https://my.g4c.go.kr

감사합니다.



해결 : http://faq.touchen.co.kr/nxKey/

Comment +0



PS C:\Users\joe\AppData\Local\Android\Sdk\tools\bin> ./sdkmanager.bat --licenses


Accept? (y/N): y
y
y
y
y
y

All SDK package licenses accepted






and...


No cached version of com.android.tools.build


Uncheck "Offline work" in Android Studio 

File->Settings->Gradle->Global Gradle Settings

Comment +0

git log 로 commit 을 확인한다.

최근 2개만 diff 포함 볼 때는

git log -p -2 로 보고 화면 이동은 vim 과 같이 ^f, ^b 포 페이지 이동, ^e, ^y 로 한줄 씩 이동해서 본다.


git log 로 commit 번호를 확인 후에는


헤드만 이동

git reset --soft [commit#]


스태이지에 올려진 파일도 이동(index 이동)

git reset --mixed HEAD~


현재 작업 디렉토리 파일도 이동

git reset --hard HEAD~


[commit#] 을 HEAD~ 로 바꾸면 현재 head 

보통 git reset --hard HEAD~ 를 많이 쓴다.


깃에서 헤드가 마스터보다 앞서 있을 때 헤드로 싱크하기


git branch -f master HEAD

git checkout master


왠만하면 브랜치는 master에서만 하지 말고 develop에서 하고 주기적으로 master로 머지하자. 주기적 머징이 없다면, 헤드를 잘못 이동시켜 깃이 꼬일 수 있다.

결국, 디벨롭 따서 거기서만 개발하는 것은 차라리 master에서만 개발하는 것보다 더 못함.


git remote add original/develop git@github.com:hajunho/xxxx.git

Comment +0

interfacebuilder의 constraints는 무시하고 했는데 이제 같이 고려해야 겠다. 캘린더, 메세지 뷰 등 오픈소스 땡겨서 넣고 나니 충돌 에러가 많네.


Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

2018-12-12 09:18:49.725504+0900 Bridge2[12529:869661] [LayoutConstraints] Unable to simultaneously satisfy constraints.

Probably at least one of the constraints in the following list is one you don't want. 

Try this: 

(1) look at each constraint and try to figure out which you don't expect; 

(2) find the code that added the unwanted constraint or constraints and fix it. 

(

    "<SnapKit.LayoutConstraint:0x282946400@TendencyCalendarPopUP.swift#140 UIButton:0x1036cba20.top == UILabel:0x1036cb730.bottom + 3.0>",

    "<SnapKit.LayoutConstraint:0x282947180@TendencyCalendarPopUP.swift#166 UILabel:0x1036ccf40.top == UILabel:0x1036cb730.bottom + 10.0>",

    "<SnapKit.LayoutConstraint:0x282947240@TendencyCalendarPopUP.swift#168 UILabel:0x1036ccf40.top == UIButton:0x1036cba20.bottom + 10.0>"

)


Will attempt to recover by breaking constraint 

<SnapKit.LayoutConstraint:0x282947240@TendencyCalendarPopUP.swift#168 UILabel:0x1036ccf40.top == UIButton:0x1036cba20.bottom + 10.0>


Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.


Comment +0

Incident Identifier: 8119A8B0-F57D-43DD-9EC4-986726331B59

CrashReporter Key:   2d69027677e0f1a6099d22d81b232d222a98ff18

Hardware Model:      iPhone9,4

Process:             KakaoMobility [11719]

Path:                /private/var/containers/Bundle/Application/BCCD7B8E-F697-4E77-B159-7C3B33AA8394/KakaoMobility.app/KakaoMobility

Identifier:          com.kakao.taxi

Version:             2 (3.0.5)

Code Type:           ARM-64 (Native)

Role:                Foreground

Parent Process:      launchd [1]

Coalition:           com.kakao.taxi [1557]



Date/Time:           2018-01-24 23:32:02.6545 +0900

Launch Time:         2018-01-24 23:04:01.5065 +0900

OS Version:          iPhone OS 11.2.2 (15C202)

Baseband Version:    2.02.04

Report Version:      104

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

git head 이동할 일이 많아질 때... (버그 발생 시점을 찾는 경우)  (0) 2019.01.20
snapkit 에러  (0) 2019.01.18
kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17

Comment +2

Incident Identifier: D9626DA3-2CDA-4949-8C6B-484CCE927D18

CrashReporter Key:   2d69027677e0f1a6099d22d81b232d222a98ff18

Hardware Model:      iPhone9,4

Process:             OneBank [2758]

Path:                /private/var/containers/Bundle/Application/B12B5B55-147A-46F4-86F2-4491D973CA6A/OneBank.app/OneBank

Identifier:          com.ibk.onebankI

Version:             1.3 (1.3.5)

Code Type:           ARM-64 (Native)

Role:                Foreground

Parent Process:      launchd [1]

Coalition:           com.ibk.onebankI [504]



Date/Time:           2018-03-03 10:56:33.0959 +0900

Launch Time:         2018-03-03 10:50:38.6117 +0900

OS Version:          iPhone OS 11.2.6 (15D100)

Baseband Version:    2.02.04

Report Version:      104


Exception Type:  EXC_CRASH (SIGKILL)

Exception Codes: 0x0000000000000000, 0x0000000000000000

Exception Note:  EXC_CORPSE_NOTIFY

Termination Reason: Namespace ASSERTIOND, Code 0x8badf00d

Triggered by Thread:  0

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

snapkit 에러  (0) 2019.01.18
kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17
오늘자 트러블 슈팅  (0) 2019.01.08

Comment +0

Incident Identifier: 8B9FF608-CAF0-4459-B50A-4F619B79B70B

CrashReporter Key:   2d69027677e0f1a6099d22d81b232d222a98ff18

Hardware Model:      iPhone9,4

Process:             hearthstone [19245]

Path:                /private/var/containers/Bundle/Application/1323A4C4-552F-463B-B9D8-BEA446DB1254/hearthstone.app/hearthstone

Identifier:          com.blizzard.wtcg.hearthstone

Version:             11.0.23966 (11.0.23966)

Code Type:           ARM-64 (Native)

Role:                Foreground

Parent Process:      launchd [1]

Coalition:           com.blizzard.wtcg.hearthstone [1065]



Date/Time:           2018-04-24 13:48:55.2006 +0900

Launch Time:         2018-04-24 13:01:10.1772 +0900

OS Version:          iPhone OS 11.3 (15E216)

Baseband Version:    2.03.12

Report Version:      104


Exception Type:  EXC_BREAKPOINT (SIGTRAP)

Exception Codes: 0x0000000000000001, 0x0000000100247ba4

Termination Signal: Trace/BPT trap: 5

Termination Reason: Namespace SIGNAL, Code 0x5

Terminating Process: exc handler [0]

Triggered by Thread:  0

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17
오늘자 트러블 슈팅  (0) 2019.01.08
Snapkit Error type - 1  (0) 2019.01.02

Comment +0

  private func testcode() {

        

        struct menuTree : Codable {

            var title : String

            var item : String

        }

        

        let menu1json = [menuTree(title:"1번메뉴", item:"1번아이템"),

                         menuTree(title:"2번메뉴", item:"1번아이템"),

                         menuTree(title:"2번메뉴", item:"2번아이템")]

        

        var jsonString:String = ""

        

        do {

            let jsonData = try JSONEncoder().encode(menu1json)

            jsonString = String(data: jsonData, encoding: .utf8)!

            print(jsonString)

        } catch {

            print("Error in jsonData converting.")

        }

        

        if Path("~/menu1").isDirectory {

            print("~/menu1 is already there")

        } else {

            do {

                try Path("~/menu1").createDirectory()

                print("~/menu1 directory has been created")

            } catch {

                print("cannot create ~/menu1 directory")

            }

        }

        

        if Path("~/menu1/menu1.txt").exists {

            print("file is already exist.")

        } else {

            try? Path("~/menu1/menu1.txt").createFile()

        }

        

        let menu1txt = TextFile(path: "~/menu1/menu1.txt")

        try? jsonString |> menu1txt

    }

    

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17
오늘자 트러블 슈팅  (0) 2019.01.08
Snapkit Error type - 1  (0) 2019.01.02

Comment +0

관련 강의가 있어 우선, 환경 세팅을 진행하였다. VMWARE에 UBUNTU 18.04 설치.

같은 컴퓨터에서 20명 우분투 환경 설정하는데 버그가 이렇게 다양하게 나오는지 황당했다.


VTx Enabling 문제

-> hp elite 8300은 특이하게 Security -> System Security에 해당 옵션이 들어 있어서 황당. 보통은 CPU 혹은 system 의 Advanced Setting에 들어있는데 말이다. 본디 가상화 메뉴가 바이오스 버전인 줄 알고 2013 버전 바이오스를 2018 버전으로 업데이트까지 했었음 ㅠㅠ


네트워크가 막힌 상태에서 VMWARE player 14 설치가 안 되는 버그

-> 14 버전에서 설치 시 네트워크로 뭘 체크하나 봄. vmware player 12 버전으로 해결


ubuntu 18.04에서 lock 파일로 apt 동작 안 하는 문제

-> 백그라운드에서 자주 쓰나? lock파일 삭제(캐시 폴더에서도 삭제)로 해결


네트워크 연결 후 apt-get 실행 시 모두 같은 환경인데 몇몇만 실행 안 되는 문제

-> 동일 IP에서 너무 많은 요청이라 막는 듯. /etc/apt/sources.list에서 us.ubuntu블라블라를 kr.ubuntu로 모두 수정하여 해결


build-essential 설치를 못하는 문제 및 기타

-> 리눅스의 bash shell이 어색한 친구들 문제. history 보고 하나씩 해결


모두 LOG가 남는 문제라 쉬운 troubleshooting.




아래 명령어는 알아두자~

https://www.tecmint.com/useful-basic-commands-of-apt-get-and-apt-cache-for-package-management/ 

 

'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17
오늘자 트러블 슈팅  (0) 2019.01.08
Snapkit Error type - 1  (0) 2019.01.02

Comment +0

interfacebuilder의 constraints는 무시하고 했는데 이제 같이 고려해야 한다. 

캘린더, 메세지 뷰 등 오픈소스 땡겨서 넣고 나니 충돌 에러가 많네.


에러가 다음과 같은 양상을 띤다면, IB constratins와 snapkit 의 제약 사항을 함께 따져봐야 한다.


Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.

2018-12-12 09:18:49.725504+0900 Bridge2[12529:869661] [LayoutConstraints] Unable to simultaneously satisfy constraints.

Probably at least one of the constraints in the following list is one you don't want. 

Try this: 

(1) look at each constraint and try to figure out which you don't expect; 

(2) find the code that added the unwanted constraint or constraints and fix it. 

(

    "<SnapKit.LayoutConstraint:0x282946400@TendencyCalendarPopUP.swift#140 UIButton:0x1036cba20.top == UILabel:0x1036cb730.bottom + 3.0>",

    "<SnapKit.LayoutConstraint:0x282947180@TendencyCalendarPopUP.swift#166 UILabel:0x1036ccf40.top == UILabel:0x1036cb730.bottom + 10.0>",

    "<SnapKit.LayoutConstraint:0x282947240@TendencyCalendarPopUP.swift#168 UILabel:0x1036ccf40.top == UIButton:0x1036cba20.bottom + 10.0>"

)


Will attempt to recover by breaking constraint 

<SnapKit.LayoutConstraint:0x282947240@TendencyCalendarPopUP.swift#168 UILabel:0x1036ccf40.top == UIButton:0x1036cba20.bottom + 10.0>


Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.

The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.


'블로그 항해 일지 > TroubleShooting' 카테고리의 다른 글

kakao T crash  (2) 2019.01.18
ibk onebank crash  (0) 2019.01.18
하스스톤 크러시 로그  (0) 2019.01.18
그냥 테스트 코드  (0) 2019.01.17
오늘자 트러블 슈팅  (0) 2019.01.08
Snapkit Error type - 1  (0) 2019.01.02

Comment +0

var ie7 = 0;