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

Publishing package within project fails with stacktrace. #3676

Closed
cunneen opened this Issue Feb 8, 2015 · 12 comments

Comments

Projects
None yet
5 participants
@cunneen

cunneen commented Feb 8, 2015

I got an error publishing a package, whose folder was located inside my meteor project. Cloning my repository to a folder on my Desktop allowed me to publish it.

I've noticed that the publish script seems to traverse the parent folder of the package being published. I've no idea why it should do this, but I suspect this to be the cause of the problem (I have a lot of local packages).

Transcript:

Mikes-MacBook-Air:signaturepad mikecunneen$ nvm use 0.10.33
Now using node v0.10.33
Mikes-MacBook-Air:signaturepad mikecunneen$ meteor logout
Logged out.                                   
Mikes-MacBook-Air:signaturepad mikecunneen$ meteor login
Username: cunneen
Password:                                     

Logged in as cunneen. Thanks for being a Meteor developer!
Mikes-MacBook-Air:signaturepad mikecunneen$   
Mikes-MacBook-Air:signaturepad mikecunneen$ meteor publish --create

/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/dev_bundle/lib/node_modules/fibers/future.js:173
                        throw(ex);
                              ^
Error: no pluginProviderPackageMap on isopack?
    at Error (<anonymous>)
    at bundleSource (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/package-client.js:286:11)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/package-client.js:675:26
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:352:18
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:345:34
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:343:23
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at Object.enterJob (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:317:26)
    at Object.exports.publishPackage (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/package-client.js:674:16)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/commands-packages.js:422:21
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:264:13
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:257:29
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:255:18
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:246:23
    at [object Object]._.extend.withValue (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/fiber-helpers.js:115:14)
    at Object.capture (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/buildmessage.js:245:19)
    at Object.main.captureAndExit (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/main.js:257:29)
    at Command.main.registerCommand.name [as func] (/Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/commands-packages.js:418:8)
    at /Users/mikecunneen/.meteor/packages/meteor-tool/.1.0.40.7hh5tw++os.osx.x86_64+web.browser+web.cordova/meteor-tool-os.osx.x86_64/tools/main.js:1300:23

Mikes-MacBook-Air:signaturepad mikecunneen$ cd ~/Desktop/meteor-signature-pad/
Mikes-MacBook-Air:meteor-signature-pad mikecunneen$ meteor publish --create
Published cunneen:signature-pad@1.0.0.        

@awatson1978

This comment has been minimized.

Contributor

awatson1978 commented Feb 9, 2015

+1
Having run into this problem a few times now. It would be really great to be able to publish from within the /packages directory. Is this description sufficient for a reproduction, or does MDG need something more detailed?

@glasser

This comment has been minimized.

Member

glasser commented Feb 10, 2015

This is supposed to work. Please provide a full reproduction as described in: https://github.com/meteor/meteor/wiki/Contributing-to-Meteor#reporting-a-bug-in-meteor Without a way to replicate your problem, we can't debug and fix it.

@glasser

This comment has been minimized.

Member

glasser commented Mar 4, 2015

OK, I see what's going on here.

I think this is a crash that happens only when you're running inside an app (as you mentioned), and the publish command doesn't have to rebuild the package because you've run some command that built it (eg just meteor) since the last time you've changed it.

(I think if you had tried to make a minimal reproduction as suggested in https://github.com/meteor/meteor/wiki/Contributing-to-Meteor#reporting-a-bug-in-meteor you may have figured that out.)

Looking into fixing it now.

@glasser

This comment has been minimized.

Member

glasser commented Mar 4, 2015

Aha, and it also only happens if you have a mobile platform in your app.

@glasser glasser closed this in 9c210f8 Mar 4, 2015

@raix

This comment has been minimized.

Contributor

raix commented Mar 4, 2015

Christ, we just spent hours on merging all core packages into one repo - we thought it was clever to place them in a packages folder in a meteor QA app - Making it easier for new comers and first time contributors to get started on the cfs project.

Having each package in separate repos makes it impossible to maintain and track issue + cfs with all it's minor packages becomes hard to get an overview (much like on the iron:router)

I was getting the no pluginProviderPackageMap on isopack? error when trying to publish - bummer, we haven't added any mobile platforms yet - but that would have been the next step, having the automated QA run tests on multiple devices.

cc @aldeed submodule the packages folder?

@raix

This comment has been minimized.

Contributor

raix commented Mar 4, 2015

@aldeed: maybe I'll just add it to the publish script - move .meteor to temp folder while publishing...

@aldeed

This comment has been minimized.

Contributor

aldeed commented Mar 4, 2015

@raix, I think next Meteor release is coming soon so maybe we just workaround with a script like you say until this fix is released.

@glasser

This comment has been minimized.

Member

glasser commented Mar 4, 2015

For a workaround, you can do rm -rf .meteor/local/isopacks before the publish.

I'm surprised to hear that people are seeing this issue in apps with no cordova platforms though!

@raix

This comment has been minimized.

Contributor

raix commented Mar 4, 2015

Ok, thanks @glasser - it's a plain app for now https://github.com/CollectionFS/Meteor-CollectionFS
(will removing isopachs have any affect on the app if running?)

@glasser

This comment has been minimized.

Member

glasser commented Mar 4, 2015

Ok, I'm surprised that you can trigger the bug that way, but ok.

The isopack directory is just a cache so you should be fine.

@glasser

This comment has been minimized.

Member

glasser commented Mar 4, 2015

Ah, I think the bug could also happen if you run publish two times in a row without running a non-publish command in the middle. (The bug happens if there is a cached version of the isopack which was built with cordova unibuilds (which are always included in publish commands), which is either because the last command was in a cordova-ified app, or because the last command was a publish command.)

@raix

This comment has been minimized.

Contributor

raix commented Mar 4, 2015

Ok, makes sense (had one successful publish)

glasser added a commit that referenced this issue Mar 5, 2015

Update History description of #3676
It also occurs if the previous operation was a publish.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment